不推荐使用Button setTextAppearance

时间:2015-10-28 14:02:34

标签: android deprecated

不推荐使用Button setTextAppearance(Context context,int resid)

和setTextAppearance(int resid) - 仅适用于API级别23

我应该使用什么?

2 个答案:

答案 0 :(得分:8)

不推荐使用意味着将来有时会删除支持,但它仍然按预期工作。在较旧的API上,没有其他选择,因为新的setTextAppearance(int resid)仅在API级别23发布。

如果您想长时间保持安全,可以使用以下代码:

if (Build.VERSION.SDK_INT < 23) {
    yourButton.setTextAppearance(context, resid);
} else {
    yourButton.setTextAppearance(resid);
}

此代码更喜欢API级别为23或更高的手机上的新版本,但在API级别23不可用时使用旧版本。

答案 1 :(得分:8)

我将和@Daniel Zolnai说同样的话。但是不要在代码中的所有位置进行检查Build.VERSION>SDK_INT < 23。把它放在一个地方,这样你将来很容易将其删除或对其进行更改。那怎么办呢?我将针对yourButton案例执行此操作。

  1. 永远不要使用Button或android提供的任何其他视图。我这样说,因为将来你需要调整一些东西,因此最好拥有自己的MyButton或类似的东西。因此,创建MyButton扩展Button

  2. MyButton内,输入以下代码:

    public void setTextAppearance(Context context, int resId) {
        if (Build.VERSION.SDK_INT < 23) {
            super.setTextAppearance(context, resId);
        } else {
            super.setTextAppearance(resId);
        }
    }
    

  3. 这样您可以随时使用setTextAppearance,而无需担心检查BUILD版本。如果您将来计划删除整件事,那么您必须在一个地方refactor。这是一项工作,但从长远来看,这将对你有所帮助,并会减少一些维护噩梦。