在 android 4.3 api 18 上更改 ActionBarActivity 的主题

Posted

技术标签:

【中文标题】在 android 4.3 api 18 上更改 ActionBarActivity 的主题【英文标题】:change theme on ActionBarActivity on android 4.3 api 18 【发布时间】:2013-07-29 15:09:44 【问题描述】:

您好,我想在运行时更改我的应用主题,使用 actionBar 兼容性(新 api 18)这是我的主题:

    <style name="AppThemeDay" parent="@style/Theme.AppCompat.Light">
      <item name="android:actionBarSize">....</item>
    </style>

    <style name="AppThemeNight" parent="@style/Theme.AppCompat">
      <item name="android:actionBarSize">...</item>
    </style>

现在我想将主题更改为我的 ActionBarActivity:

if(day)
  setTheme(R.style.AppThemeDay);
 else
    setTheme(R.style.AppThemeNight);

但我没有零钱。为什么?

【问题讨论】:

你读过 setTheme 文档吗? 阅读文档!!!!!! 为此上下文设置基本主题。请注意,这应该在上下文中实例化任何视图之前调用(例如在调用 setContentView(View)inflate(int, ViewGroup) 之前)。 【参考方案1】:

感谢您的回复!我在 setContentView(View) 之后调用了 setTheme..

【讨论】:

以上是关于在 android 4.3 api 18 上更改 ActionBarActivity 的主题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 4.3 API 18 中获取绑定设备?

Android 4.3 菜单项 showAsAction="always" 被忽略

如何在 Android 4.3 中更改蓝牙低功耗设备的名称?

setPluginsEnabled(true) 谁知道android的4.3之后为什么会报错

在 Android 4.3 中启动服务时出错

Android 4.3 上的屏幕旋转对话框