我想在用戶在首選項文件或設置中選擇設置時更改清單樣式。我的apk中有一個設置,其中包含一個首選項列表,其中包含三個條目{Style_1, Style_2, Style_3}
。當用戶單擊樣式時,我想更改樣式顏色,如primaryColor
。我怎樣才能做到這一點?我可以在運行時更改我的android應用程序樣式嗎?
0
A
回答
0
我認爲,設置主題後點擊按鈕或選項可能是苛刻的活動要處理。 我的建議,你是重新加載按鈕點擊活動,但在此之前,只需保存STYLE_NAME,用戶希望在共享首內存或申請。你可以申請共享優先只需看here。
截至的onCreate你的活動的開始,應用的獲取部分共享喜好和應用的主題爲用戶指示。這將幫助您保留該用戶的主題,直到他/她卸載該應用程序或清除應用程序數據爲止。 如果他/她第一次使用該應用程序,則存儲的字符串將爲空,因此將加載具有默認主題的應用程序。
你可以簡單地通過使用下面的代碼重新載入按鈕,點擊你的活動:
public void onClick (View v){
Intent intent = getIntent();
finish();
startActivity(intent);
}
希望它可以幫助!
1
是的,你可以設置主題是這樣的:
activity.setTheme(R.style.theme_large);
activity.setTheme(R.style.theme_small);
<style name="theme_large">
<item name="main_background">@drawable/background_red</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="button_light">@color/button_light</item>
</style>
<style name="theme_small">
<item name="main_background">@drawable/background_red</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="button_light">@color/button_light</item>
</style>
1
創建兩個樣式
setTheme(darkTheme ? R.style.AppThemeDark : R.style.AppThemeLight);
<style name="AppThemeDark">
<item name="main_background">@drawable/background_dark</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="button_light">@color/button_dark</item>
</style>
<style name="AppThemeLight">
<item name="main_background">@drawable/background_light</item>
<item name="colorPrimaryDark">@color/colorPrimaryLight</item>
<item name="button_light">@color/button_light</item>
</style>
1
是的,你可以很容易地做到這一點,我做這一切的時候。
的setContentView之前就調用此方法是這樣的:
setTheme(R.style.Theme);
setContentView(R.layout.activity_layout);
現在我要做的就是,我需要一個靜態int變量在應用程序常數和改變它根據我的主題。然後我做這樣的事情
//This is in my constants file
public static int CURRENT_THEME = R.style.AppTheme;
//This is in my onCreate of every Activity.
setTheme(Constants.CURRENT_THEME);
setContentView(R.layout.activity_layout);
希望這有助於。
相關問題
- 1. 我可以在Android 1.5中運行Android 2.0應用程序嗎?
- 2. 我可以在android應用程序中運行jdk命令嗎?
- 3. 我可以在Bluemix上運行我的Tomcat應用程序嗎?
- 4. 我可以更改android應用程序的語言嗎?
- 5. 我可以在代碼中更改Android樣式的父代嗎?
- 6. 當我從Android庫運行時,可以配置Eclipse以運行我的Android應用程序項目嗎?
- 7. 我可以使用Zookeeper來運行我的應用程序嗎?
- 8. 我可以用鏈接運行我的應用程序嗎?
- 9. 我可以在運行時更改Spark的執行程序內存嗎?
- 10. 我可以更改我的iPhone應用程序大圖標嗎?
- 11. Android應用程序 - 我們可以在運行時重新使用圖像嗎?
- 12. 我可以在應用程序運行時卸載我的應用程序
- 13. 我們可以更改iOS應用程序進行升級嗎?
- 14. 可以在c#中運行時更改我的程序托盤圖標嗎?
- 15. 我的應用程序可以在iphone OS4上運行嗎?
- 16. 我可以在android應用程序中運行android測試用例嗎?
- 17. 我可以以運行aspnet應用程序的方式運行Windows Presentation Foundation應用程序嗎?
- 18. 我可以在運行時更改Button或TextView的功能嗎?
- 19. 我可以在iTunes中更改應用程序狀態嗎?
- 20. 我可以在Silverlight應用程序中運行PowerShell腳本嗎?
- 21. 我可以在.NET 2應用程序中運行.NET 4應用程序嗎?
- 22. 我可以使用python在我的Mac上運行/使用應用程序嗎?
- 23. 我可以更改iOS應用程序的網址嗎?
- 24. 我們可以更改Windows應用程序app.config的設置嗎?
- 25. 我可以更改Asana API應用程序的所有權嗎?
- 26. iOS - 我可以在運行時更改localizable.strings內容嗎?
- 27. 我可以在運行時更改emacs設置嗎?
- 28. Qt:我們可以在運行時更改資源內容嗎?
- 29. 我可以使用更新按鈕更新我的android應用程序嗎?
- 30. 我可以在沒有模擬器的PC上運行android應用程序嗎?
是的,你可以通過編程方式在oncreate方法中應用主題,但是你需要重新創建應用新主題的活動 –