我試圖用java代碼更改運行時的主題,因爲我想讓用戶能夠通過首選項菜單更改應用程序主題。 所以,我讓用戶的主題,然後讀取結果是這樣的:在java中更改主題不會改變背景顏色
if (...) {
getApplication().setTheme(R.style.BlackTheme);
} else {
getApplication().setTheme(R.style.LightTheme);
}
不幸的是,由於某種原因,這並不工作.... 的字體顏色稍微暗灰色(光主題)轉移到一個更明亮的灰色(黑色主題) ,但背景始終保持白色/黑色(取決於最初在清單文件中選擇哪個主題)
如果我完全刪除清單文件中的主題條目,彷彿我會選擇黑色主題....
....我有忽略的東西嗎?
這應該在setContentView之前調用,所以你可能需要重新「創建」你的活動 –
不,這是行不通的。我只是調用setContentView(R.layout.blabla);然後它應該被「重新創建」,對吧? 好吧,它不工作: -/ – RazorHail