我想允许用户通过点击一个按钮来更改从整个应用主题,
所以我想知道是否有一种方法可以变化的应用主题内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代码中更改主题, –