簡體   English   中英

如何在運行時設置主題顏色?

[英]How to set theme colors in runtime?

目標:在 Android 應用程序中,我們從服務器接收顏色。 登錄后,用戶從 JSON 獲得了具體的顏色集,例如

{
    "color-primary": "#FFFFFF", 
    "color-primary-dark":"#FF0000"
 }

它可以是任何顏色。 在下一個屏幕上,接收到的顏色應該應用於視圖(如主題)。 顏色會影響背景、文本顏色等。

已完成的工作:擁有一組有限的主題並不能解決問題,因為我們可以接收隨機的顏色組合。
簡單的解決方案是使用BaseActivityBaseView類的東西,它在每個具有特殊自定義屬性的視圖上應用顏色。
問題:我怎樣才能更方便地做到這一點? 試圖找到一個星期的解決方案 - 沒有結果:(請幫幫我

如果您正在尋找一種更改主題顏色的方法,我必須告訴您不能。 這是因為主題是不可變的。 但正如您所說,您可以以編程方式在活動中應用顏色,如果您想更改整個應用程序的顏色,正如您所說,您可以使用 BaseActivity 模式來做到這一點。 我不知道你想改變什么,但它可能類似於actionBar?.setBackgroundDrawable(ColorDrawable(0xFFFFFF))

另一種方法是將您的顏色存儲在數據庫或單例類或全局變量中(取決於您的需要),並且每次加載活動時,按照您想要的方式更改它。 您可以為此使用接口並使活動實現您的接口

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM