4
A
回答
8
在你的Activity.onCreate()中,你可以調用setTheme()來設置你想要使用的主題。注意,必須在之前完成,然後調用setContentView()或以其他方式創建UI。
請記住,當用戶啓動您的應用程序時,系統會在發生這種情況時顯示預覽。這之前是基於創建一個與您的清單中聲明的主題相匹配的窗口。您希望這樣做盡可能匹配您將在onCreate()中設置的主題,以儘可能平滑地轉換到您的應用。
如果您希望自己的主題根據某些設備配置(如平臺版本或屏幕大小)而變化,則可以通過資源完成此操作。只需爲所需的不同配置聲明不同版本的主題即可。文件佈局會是這樣的:
values/
styles.xml # Required default theme
values-v11/
styles.xml # Theme when running on Android 3.0 or higher
values-xlarge/
styles.xml # Theme when running on an xlarge screen
的-v11可以讓你有一個版本,在新平臺上運行時,恢復到舊版本兼容的東西時,使用一個新的主題的主題。例如在values-v11風格中,你的主題的父項可以是新的@android:style/Theme.Holo,而基本的將繼承舊的@android:style/Theme。
而且Android 3.0的爲您提供了一種方法來改變你在運行時主題,通過詢問你的活動被重新啓動時的配置改變發生,如:http://developer.android.com/reference/android/app/Activity.html#recreate()
呼籲在此之後,那被創建活動的新實例可以使用與以前使用的主題不同的值(基於例如保存的實例狀態或共享首選項中的信息)調用setTheme()。
相關問題
- 1. Openlayers 4.11:在編程式選擇功能時不應用樣式
- 2. 選擇時選擇樣式?
- 3. Dojo Datagrid - 以編程方式選擇行的樣式
- 4. 如何在Vista中以編程方式選擇主題
- 5. 在運行時在運行jar中選擇主類
- 6. 以編程方式爲Android手機選擇主題
- 7. Laravel在運行時選擇課程
- 8. 更好的方式在plsql中選擇矩陣樣式進行編程?
- 9. Delphi VCL樣式教程 - 如何在運行時更改樣式
- 10. 以編程方式訪問Android中的主題/樣式/ attrs
- 11. 在運行時選擇string.xml
- 12. 在運行時選擇AspxGridView
- 13. Datagrid多行選擇樣式
- 14. Magento setTemplate在運行時/編程式
- 15. CSS樣式主題化的複選框
- 16. 編程選擇子的makefile運行make時包括
- 17. 如何以編程方式創建Android主題樣式?
- 18. 以編程方式選擇一行DataGridView
- 19. -ms-篩選器樣式可以在SharePoint中進行主題化?
- 20. 在運行時在GridEx中選擇行
- 21. Android:根據主題/樣式更改選擇器字體大小
- 22. XSLT:運行沒有<xi:include>解析主題的樣式表
- 23. 選擇的tableview行編程
- 24. sbt:選擇運行的主類
- 25. 以編程方式設置樣式屬性時,無法在當前主題中找到樣式「My_Button」
- 26. 組選擇編程問題
- 27. Android - 當樣式是自定義的並且由主題控制時,以編程方式更改TextView的樣式
- 28. 編程方式在Firefox中使用jQuery編程式選擇單選按鈕時遇到問題5
- 29. 樣式和主題
- 30. asp.NET - 選擇菜單的靜態選擇樣式的問題
如何設置預覽屏幕大致匹配主題,如果有明暗主題可用?例如,如果您有一個使用黑色作爲windowBackground的主題,並且使用了白色的主題 - 是否有動態樣式化預覽屏幕的方法? –