我为ActionBar实现了一个主题:
<style name="MyTheme"
parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar">
<item name="android:background">@color/actionbar_background</item>
<item name="android:displayOptions">useLogo|showHome</item>
<item name="android:logo">@mipmap/ic_launcher</item>
<item name="logo">@mipmap/ic_launcher</item>
<item name="background">@color/actionbar_background</item>
</style>
我在
AndroidManifest.xml
中应用了它:<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyTheme">
...
我知道我的主题可以在看到颜色变化时起作用,但是我的操作栏图标从不显示。只有在我的活动的
onCreate
方法中明确调用此代码时,我才能看到它: ActionBar actionBar = getSupportActionBar();
actionBar.setLogo(R.mipmap.ic_launcher);
actionBar.setDisplayUseLogoEnabled(true);
actionBar.setDisplayShowHomeEnabled(true);
我觉得为每个活动复制粘贴相同的代码是不正确的。请帮我解决这个问题。
最佳答案
新的compat库在工具栏(以前为ActionBar)中不使用徽标或应用程序图标。您应该查看有关以下内容的样式指南:https://www.google.com/design/spec/layout/structure.html#structure-toolbars
从棒棒糖开始,您会获得新功能,例如在此屏幕上设置通知栏的颜色:
一项很酷的新功能是,着色可以使所有ui元素着色,就像您需要品牌宣传一样。