2015-12-17 92 views
0

我正在製作應用程序並想知道是否有方法以編程方式更改顏色資源值。例如,我正在使用資源R.color.text_color_name設置TextView文本顏色。有沒有辦法將該值設置爲不同的值,以便它可以更改應用程序中每個TextView的顏色?Android更改顏色資源價值以編程方式

回答

2

R文件包含常量,您不能在運行時更改它們,因爲在運行時通常無法更改常量。如果你想更新所有文字視圖的顏色,爲什麼不看看主題。創建自定義主題,然後在onCreate中加載活動時更改主題。設置新的主題後,我認爲你將不得不再次調用setContentView,然後再次調用所有的findViewByIds,因爲它們將爲空。您也可以嘗試在setTheme()之後調用recreate()。這聽起來很亂。

也許這可以幫助你change the theme.

+0

對不起,我是一個Android小白,但你怎麼可以從款式顏色值(默認的TextView,背景顏色,工具欄顏色等)變化?我爲了向後兼容而以編程方式設置一些顏色,我是否也必須更改一些內部變量? – AngryCupcake274

+0

你是否試圖在運行時或編譯時從樣式文件中更改顏色?你的談話風格不是主題吧? – j2emanue

+0

運行時間:我正在討論'colors.xml'文件中的值。我想知道是否這些值被卸載到我可以改變的變量上。 – AngryCupcake274

相關問題