2

我有一个关于使用jfeinstein10 SlidingMenu的 API<=10 运行时主题切换的问题

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 显示为 style.xml 中定义的默认应用程序主题,主布局显示为 newTheme。

有一种方法可以强制 API<10 上的 SlidingMenu 菜单采用 newTheme?

谢谢

4

1 回答 1

1

不鼓励在您的代码中使用 setTheme(),请参阅

相反,请在应用的清单中声明主题。

<application
...
android:theme="@style/themeA" >
于 2013-03-18T17:04:56.657 回答