设置颜色无效有两种场景:
mTv.setTextColor( mContext.getResources().getColor(R.color.text_color));
(注意color.xml文件中的 颜色值是以#号开头的rgb值,可以无透明值)
二:当颜色值在代码中:
这种情况颜色值是以0xff3b9bff的形式存在(注意Android的要以8位存在才能生效,ios是6位),代码如下:
mTv.setTextColor(0xff3b9bff);
重点来了,遇到兼容问题怎么办?
解决办法如下:
int titleTvColor = 0x99000000;
try {
titleTvColor = Integer.parseInt(item.color.replace("0x", ""), 16) + 0xff000000;
} catch (NumberFormatException e) {
e.printStackTrace();
}
mTv.setTextColor(titleTvColor);
屈服于ios,只能自己补位了。
本文介绍了解决Android应用程序中颜色设置不生效的问题,并提供了一种通用的解决方案来确保跨平台的颜色兼容性,适用于color.xml文件配置及代码内直接赋值两种场景。
3万+

被折叠的 条评论
为什么被折叠?



