2013-02-19 82 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,請記住,如果您希望一切都變爲黑色,則需要創建自己的主題。

相關問題