参考:https://blog.csdn.net/lixiaodaoaaa/article/details/38463743#
虽然网上有了怎么解决这个问题,但我决定还是自己写一写。
首先我遇到的是调用自己的iconFont字体时,发现在java代码中改颜色(这里的颜色是自定义的颜色,系统颜色会不会出现这种问题我不太清楚,不过大家可以试试)始终会统一变成某一颜色(什么颜色不重要),为了解决这问题,我也是找了好久,一开始找的是“Android 使用iconFont字体颜色无效”之类的关键字,找不到想要的结果。于是我就测试TextView,发现也有这个问题,才想起来可能是setTextColor方法出了问题。
下面直接上解决方案
方案1 - 使用整型方法:
FontIconView iconPlate;//是我自定义的组件,用来使用iconFont里面的字体
iconPlate = findViewById(R.id.product_tag3);
Context mContext = AAAA.this;//获取上下文,AAAA是当前Activity的类名
int myBlue = mContext.getResources().getColor(R.color.myBlue);//R.color.myBlue在values/colors自定义
iconPlate.setTextColor(myBlue);
方案2 - 使用String方法:
String myBlue = "#6200EE";//颜色的代码
iconPlate.setTextColor(Color.parseColor(myBlue));
Tips:无论是R.String 还是 R.color 返回的数据类型都是整型。