我正在为Actionbar使用actionbarsherlock,默认情况下会设置一个主题。在searchview扩展后,我需要更改我的操作栏的主题,我正在执行下面的
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
// TODO Auto-generated method stub
setTheme(R.style.CalendarTheme);
return true;
}
新主题没有得到反映,我在Manifest文件中的其他活动中使用的主题相同,效果很好。如何在android中动态更改主题?
答案 0 :(得分:0)
在实例化任何视图后,您无法更改活动的主题。
来自setTheme(int)
documentation:
请注意,应在上下文中实例化任何视图之前调用此方法(例如在调用
setContentView(View)
或inflate(int, ViewGroup))
之前。
您可以手动更改视图的样式,但无法更改主题。