我正在嘗試獲得用戶選擇的主題,并感到很沮喪。在AndroidManifest.xml應(yīng)有的情況下定義主題,但是(據(jù)我所知)不能根據(jù)應(yīng)用程序首選項(xiàng)進(jìn)行更改:<application android:theme="@style/theme_sunshine" android:icon="@drawable/icon" android:label="@string/app_name">另外,在每個(gè)活動(dòng)中動(dòng)態(tài)設(shè)置它也可以:someChosenTheme = PreferenceManager.getDefaultSharedPreferences(this).getString("themePreference", "theme_twilight");setTheme(someOtherChosenTheme);但這似乎很混亂,我寧愿將整個(gè)應(yīng)用程序的主題放在一個(gè)地方。我的第一個(gè)想法是在我的主要活動(dòng)啟動(dòng)后立即獲取應(yīng)用程序上下文并在其中進(jìn)行操作:getApplicationContext().setTheme(R.style.theme_dummy);盡我所知,這應(yīng)該可以解決問(wèn)題,但實(shí)際上它什么也沒(méi)做-整個(gè)應(yīng)用程序都具有默認(rèn)的Android風(fēng)格。上面的方法是否有效?如果是,我可能還會(huì)做其他愚蠢的事情嗎?如果這很重要,我正在使用API級(jí)別3。朝著正確方向的產(chǎn)品大加贊賞!
3 回答

寶慕林4294392
TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個(gè)贊
為您的應(yīng)用創(chuàng)建基本活動(dòng),并覆蓋onCreate來(lái)設(shè)置主題。從此基本活動(dòng)中派生所有其他活動(dòng)。
還要檢查此教程:http : //www.androidengineer.com/2010/06/using-themes-in-android-applications.html

函數(shù)式編程
TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊
可能有一個(gè)很好的解決方案,但是我找不到一個(gè)解決方案,所以我最終在需要一個(gè)Activity并基本上執(zhí)行您編寫的這兩行的helper類中制作了一個(gè)靜態(tài)的helper方法。當(dāng)然,這并不完美,但是onCreate()
可以容忍我的應(yīng)用程序中的每個(gè)方法僅添加一小段代碼即可
- 3 回答
- 0 關(guān)注
- 424 瀏覽
添加回答
舉報(bào)
0/150
提交
取消