2013-02-19 79 views
0

我正在开发一个android应用程序。 我想添加一个功能,让用户在运行时更改应用程序的主题。如何在Android中更改应用程序的主题?

我尝试在我的主要活动中使用以下语句。

setTheme(android.R.style.Theme_Black); 

但是,它只是将对话框更改为带白色文本的黑色背景。

如何才能将所有组件的主题更改为黑色,包括操作栏和片段?

回答

0

对于全局运行时的变化,还有什么工作是扩大Application并设置主题(也许在onCreate(),因为这个类也有考虑将其扩展ContextWrappersetTheme()方法。

确保申报您的应用类在清单:

<application 
     android:name="com.yourpackage.ApplicationClass" > 
</application> 

然而,由于推广应用时通常是皱起了眉头,我宁愿设置主题对每个Activity基础,因为活动被摧毁和重建的方式往往比Application对象。也许做一个静态的方法,从SharedPreferences返回当前的主题。

0

使用Theme_Holo而不是Theme_Black,请记住,如果您希望一切都变为黑色,则需要创建自己的主题。

相关问题