我正在開發一個應用程序,將以不同的客戶端的不同顏色和圖像爲主題。雖然我可以選擇在構建時使用自定義顏色重新編寫colors.xml文件,但我傾向於在運行時設置顏色。我想知道的是,如果這是以某種方式通過編程方式更改colors.xml文件中定義的顏色的值,並讓該新值在佈局定義中使用的所有位置生效。如何以編程方式更改colors.xml中的顏色值?
因此,換句話說,如果我有:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<color headerColor="white">#FFF</color>
<color backgroundColor="black">#000</color>
</resources>
並且用類似的佈局文件:
<TextView
android:id="@+id/listItemHeaderActivity"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="12sp"
android:textColor="@color/headerColor"
android:background="@color/backgroundColor"
android:text="@string/listTextHeaderActivity"/>
我可以改變的headercolor
Java中的價值和backgroundColor
,並讓它發生在所有使用這些值的視圖中?或者當我顯示這些視圖時,是否必須單獨更改每個相關的視圖顏色?
在此先感謝。
你試過了什麼? – koem
在這一點上,我沒有真正嘗試過除定義某些默認顏色值並在佈局文件中使用它們之外的任何其他內容,如上所示。正如我在我的問題中所描述的,我一直無法找到解決方法,所以我還沒有嘗試過這樣的事情。 – RocketGuy3
不,你不能改變。您可以使用sharedpreferences來保存顏色並使用它們。 – Tarun