setTextColor注意事项

我们直接对比下 setTextColor 和 setText 的源码:

//这里的color参数,是颜色值,而不是资源的ID

  public void setTextColor(int color) {

        mTextColor = ColorStateList.valueOf(color);

        updateTextColors();}

R.color.red通过eclipse生成的int值并不是真正的颜色值,必须通过mContext.getResources().getColorAndroid SDK 升級到 23 之後,ContextCompat.getColor(context, R.color.color_name)将真正的16进制颜色值#255#255#255#255值取得到才可以。

//这里的才是资源ID 

public final void setText(int resid) {

setText(getContext().getResources().getText(resid));}

我们只能这样:

Int color=context.getResources().getColor(R.Color.XXX); tv_text.setTextColor(color);

猜你喜欢

转载自blog.csdn.net/xxdw1992/article/details/81409354