今天在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位的顏色表示。