2013-03-18 36 views
2

我關於API的問題使用< = 10運行時主題轉換jfeinstein10 SlidingMenuJfeinstein10 SlidingMenu主題化

的onCreate是這樣

super.onCreate(savedInstanceState); 
setTheme(themeA); 
setContentView(R.layout.main); 
SlidingMenu menu = new SlidingMenu(context); 
menu.setMode(SlidingMenu.LEFT); 
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); 
menu.setShadowWidthRes(R.dimen.shadow_width); 
menu.setShadowDrawable(R.drawable.shadow); 
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset); 
menu.setFadeDegree(0.35f); 
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT); 
menu.setMenu(R.layout.config_sliding_menu); 

和onButtonClick我做這樣的事情

... themeA=newTheme .... 
finish(); 
startActivity(new Intent(activity, activity.getClass())); 

所有工作都很好,API> 10(config_sliding_menu和「重新啓動」之後的主要佈局出現在newTheme中),但API < = 10 config_sliding_menu出現在styles.xml中定義的默認應用程序主題中,主佈局顯示爲newTheme。

有一種方法來強制API < 10 SlidingMenu菜單採取newTheme?

THX

回答

1

使用setTheme()在你的代碼不鼓勵,看到this

相反,在您的應用程序的清單中聲明主題。

<application 
... 
android:theme="@style/themeA" > 
+0

THX的答覆,但我需要切換主題運行......所有做工精細用API> = 11 – 2013-03-18 17:23:20

+0

如果你想我可以讓最少的代碼來重現問題:d – 2013-03-18 17:24:57

+0

嘗試之前調用setTheme() super.onCreate() – Nachi 2013-03-18 17:26:33

相關問題