轉 備忘 android 文字顏色和背景的設定問題

2021-08-25 20:19:22 字數 980 閱讀 2710

本帖**

在做乙個專案,突然遇到如下問題 比如: 在color.xml中定義了幾個顏色 #ffffff

#df8326 複製** 又給textview 設定了字型顏色和背景色 複製** 執行之後,顯示是正常的,背景為橙色,文字為白色。 但是我動態操作了一下控制項,就是把這個textview 的字型顏色和背景顏色對調一下。 問題出來了,顏色變了,變成了灰色背景,黑色文字。 view_hello.setbackgroundcolor(r.color.white); view_hello.settextcolor(r.color.orange); 複製** 我嘗試了各種顏色格式,這些只是android支援的: #rgb, #argb, #rrggbb , #aarrggbb 。 但結果還是一樣,開始顯示是正常的。經過上面**操作一下後就變成灰色背景,黑色文字。 為什麼會出現這種情況?是什麼原因造成的?怎麼解決這個問題?

view_hello.setbackgroundcolor(this.getresources().getcolor(r.color.white)); view_hello.settextcolor(this.getresources().getcolor(r.color.orange));

多謝樓主,現在正好遇到這個問題,這個老帖幫大忙了!

順帶補充一點:如果是在button之類的onclick裡使用這種,必須用

view_hello.settextcolor(activityname.this.getresources().getcolor(r.color.orange));

view_hello.settextcolor(r.color.orange); 這個方法裡 接受的是乙個 int 引數, 對應的是乙個顏色值。 你用r.color.orange。 這個也是乙個int 值 所以可以賦值。 對應的值是r檔案中編譯出來的那個值。 假如這個值 是 100 就相當於 settextcolor(100); 這樣並沒有賦給你定義在clor.xml中的color

最後一樓的哥們揭示了 問題的本質

Android 動態設定控制項文字顏色和背景色

一般我們要實現乙個控制項按壓變背景色,我們會寫selector的xml檔案,比如 控制項背景色選擇器 param context 當前上下文 param idnormal 預設 param idpressed 按壓時 return public static statelistdrawable se...

Textview設定文字樣式和顏色

1.自定義字型 可以使用settypeface typeface 方法來設定文字框內文字的字型,而android的typeface又使用ttf字型檔案來設定字型 所以,我們可以在程式中放入ttf字型檔案,在程式中使用typeface來設定字型 第一步,在assets目錄下新建fonts目錄,把ttf...

android 設定狀態列顏色和字型顏色

這個比較完整 複製下面 通過setstatusbarbgcolor方法直接設定顏色即可,狀態列字型顏色會根據背景顏色進行改變。只支援6.0及以上版本。public void setstatusbarbgcolor colorint int color else 判斷顏色是不是亮色 param col...