相关疑难解决方法(0)

如何在Android中运行时更改当前主题

我创建了一个PreferenceActivity,允许用户选择他想要应用于整个应用程序的主题.

当用户选择主题时,执行以下代码:

if (...) {
    getApplication().setTheme(R.style.BlackTheme);
} else {
    getApplication().setTheme(R.style.LightTheme);
}
Run Code Online (Sandbox Code Playgroud)

但是,即使我已经使用调试器检查了代码是否正在执行,我也看不到用户界面的任何变化.

主题是定义的res/values/styles.xml,Eclipse没有显示任何错误.

<resources>
    <style name="LightTheme" parent="@android:style/Theme.Light">
    </style>

    <style name="BlackTheme" parent="@android:style/Theme.Black">
    </style>    
</resources>
Run Code Online (Sandbox Code Playgroud)

关于可能发生的事情以及如何解决问题的任何想法?我应该拨打setTheme代码中的任何特殊点吗?如果有帮助,我的应用程序包含几个活动.

android themes

144
推荐指数
7
解决办法
16万
查看次数

如何在Android Lollipop上声明扩展高度工具栏/操作栏?

我在Google Design App Bar指南中看到了扩展高度应用栏.如何在Android Lollipop中实现这些功能?

android android-actionbar

88
推荐指数
1
解决办法
5万
查看次数

如何更改操作栏大小

我想改变动作栏的大小.我尝试过以下编码.

<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/CustomActionBar</item>
</style>
<style name="CustomActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
    <!--  <item name="android:background">@drawable/action_bar_style</item> -->
    <item name="android:actionBarSize">15dp</item>
    <item name="android:background">@drawable/header_bar</item>
</style>
Run Code Online (Sandbox Code Playgroud)

但是动作栏的大小并没有改变.还有另外一种方法吗?我正在使用api 11级.

谢谢.

android android-actionbar

32
推荐指数
2
解决办法
8万
查看次数

标签 统计

android ×3

android-actionbar ×2

themes ×1