在新的Android 5.0中,方法TextView.getTextColor(Context context,TypedArray typedArray,int defStyle)消失了吗?

时间:2014-10-22 08:32:16

标签: java android textview android-5.0-lollipop

在sdk更新到Android 5.0后,方法TextView.getTextColor(Context context, TypedArray typedArray, int defStyle)消失了。
我将此方法用于我的自定义TextView(来自xml的int colorId定义)。
那么如何从xml中确定int color id

2 个答案:

答案 0 :(得分:2)

以下是获取TextView颜色的示例代码:

TextView tv = (TextView) findViewById(R.id.yourComponentId);
int tv_color = tv.getTextColors().getDefaultColor();

或者您也可以获得正常文字的颜色,如下所示:

TextView tv = (TextView) findViewById(R.id.yourComponentId);
int tv_color = tv.getCurrentTextColor();

如果使用第一个示例,您还可以使用

获取各种状态的颜色
TextView tv = (TextView) findViewById(R.id.yourComponentId);
ColorStateList colorStateList = tv.getTextColors();
int tv_color colorStateList.getColorForState(states, failColor);

希望这有帮助。

参考:getColorForState

答案 1 :(得分:1)

它已经被删除了,你可以在API diff中看到: https://developer.android.com/sdk/api_diff/21/changes.html

您仍然可以使用此变体:

public final ColorStateList getTextColors()