2013-03-18 57 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