今天在Android设置文字的颜色时候遇到了一些问题,在这里记下解决方法。
说明:sms_etxt是一个得到的<Textview/>的ID。
setTextColor()的参数应该写成以下的这种形式:setTextColor(0xFF0000FF)。
1、Android中的颜色值表示
Android 定义颜色color时6位或8位值的区别
- 6位(#000000)就是RGB值
- 8位(#1e000000)ARGB 头两位是透明度,00是完全透明,ff是完全不透明,后6位是RGB值,比较适中的透明度值是int color = Color.argb ( 127, 255, 0, 255 ); 其中第一个参数表示透明,0表示完全透明,255(ff)表示完全不透明;后三位分别代表RGB的值了。
2、在Android中我们有两种方法来设置用到的颜色
1、用XML资源文件来定义颜色。(位置一般是res/values/colors.xml)
XML定义方法接受6位和8位两种表示法,而且开头必须是#,8位定义时前两位表示透明。
2、在程序中直接设置
- setBackgroundColor(android.graphics.Color.argb(127, 255,0, 255));
- setTextColor(0xFF0000FF)
这种方法必须使用0x开头,而不是用我们常用的#。值也必须用8位表示 ,不接受6位的颜色表示。