我想允許用戶通過點擊一個按鈕來更改從整個應用主題,
所以我想知道是否有一種方法可以變化的應用主題內java代碼。如何設置Android應用主題在Java中,
0
A
回答
3
您可以在Context上使用setTheme()
方法。
請務必注意文檔中的註釋 - 在實例化任何視圖之前,您需要致電setTheme()
。
如果在應用程序打開時更改主題,則需要重新創建活動以顯示所做的更改。
+0
謝謝,順便說一下,您知道重新啓動我的活動的簡便方法嗎? –
+1
Activity.recreate() – Adam
1
public class ThemeSwitcher extends Activity implements OnClickListener {
private boolean isThemeSwitch = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
if (isDefault() == false) {// Default theme defined in Style file.
setTheme(android.R.style.Theme_Light);
}
super.onCreate(savedInstanceState);
setContentView(R.layout.theme_switcher);
findViewById(R.id.switchTheme).setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (v.getId() == R.id.switchTheme) {
switchTheme();
isThemeSwitch = true;
finish();
}
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
if (isThemeSwitch) {
Intent intent = new Intent(this, ThemeSwitcher.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
}
private SharedPreferences getPreference() {
return getSharedPreferences("theme", 0);
}
private void switchTheme() {
if (isDefault()) {
getPreference().edit().putBoolean("theme", false).commit();
}
else {
getPreference().edit().putBoolean("theme", true).commit();
}
}
private boolean isDefault() {
boolean isDef = true;
isDef = getPreference().getBoolean("theme", false);
return isDef;
}
}
相關問題
- 1. 設置ActionBarSherlock的主題爲Android應用
- 2. 在Java中設置pptx主題
- 3. 如何設置Android應用的標題?
- 4. 如何在主題中設置應用程序佈局屬性?
- 5. 如何在應用程序設置中更改主題
- 6. 如何在Android應用程序中設置全息黑暗主題?
- 7. 如何在ggplot主題中設置scale_defaults?
- 8. 如何在Maven中設置swc主題?
- 9. 未設置Android主題
- 10. 在Android中設置對話框主題爲父主題
- 11. 如何在android中設置標題和高度標籤主機?
- 12. 如何在Android的AlertDialog中設置主題
- 13. 如何在Android中以編程方式設置App主題?
- 14. KOHANA主題 - 如何在K3中設置主題
- 15. 如何設置Emacs主題?
- 16. 如何在Android 4.0和4.1中設置應用標題爲
- 17. 如何在android java中設置鬧鐘
- 18. Anychart反應設置主題
- 19. 如何在Java Web應用程序中設置區域設置?
- 20. 如何在Android應用程序中設置區域設置?
- 21. Android設置默認設備主題
- 22. 如何使用minSDK 7設置應用程序的ICS主題?
- 23. WP7 - 如何讓用戶設置應用程序主題
- 24. 設置另一個應用的主題?
- 25. 在Moodle中爲用戶設置主題
- 26. 如何在Java/Swing應用程序中使用Windows XP主題?
- 27. 如何在主要活動api中設置主題7?
- 28. 爲Android應用程序設置Holo主題
- 29. 無法設置暗應用主題的Android工作室
- 30. 設置主題時Android應用程序強制關閉
創建一個按鈕,添加一個偵聽到它,並單擊時它更改UI相應 – BackSlash
我知道如何使一個按鈕,但我不知道如何將Java代碼中更改主題, –