如果菜单项被推送到拆分操作栏,有没有办法提供不同的可绘制图标?我的分割操作栏颜色与顶栏有很大不同,单个图标样式并不像我希望的那样直观。
答案 0 :(得分:0)
将要用于分割的Drawables
放在/res/drawable/
中,并将其他/res/drawable-w480dp
放入{{1}}。
答案 1 :(得分:-1)
您可以使用LevelListDrawable
作为图标,并在屏幕配置更改时设置级别(这意味着调用Activity.onCreate()
。
使用
创建要在图标中使用的drawable<level-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:maxLevel="0" android:drawable="@drawable/**your bitmap dark**" />
<item android:maxLevel="1" android:drawable="@drawable/**your bitmap light**" />
</level-list>
检测是否分割了ActionBar。这部分似乎很棘手。我正在使用SherlockActionBar并在那里工作(直到今天的Android版本)this way
要更改一个drawable,请使用ActionBar.Tab
在相应的getIcon().setLevel()
级别设置。请注意,您无需转换为LevelListDrawable
。无论出于何种原因,级别概念直接使用Drawable
类实现。
答案 2 :(得分:-1)
在appcompat库中,拆分ActionBar用于除large,land或sw480dp之外的配置。如果您使用本机ActionBar,我猜您可以跳过大型配置。
然后,要提供替代的drawable,您应该在这些值dirs中定义适当的引用,例如:
在values
:
<item name="action_search_drawable" type="drawable" format="reference">@drawable/ic_action_search_narrow</item>
在values-w480dp
:
<item name="action_search_drawable" type="drawable" format="reference">@drawable/ic_action_search</item>
然后,在菜单配置中,您应该使用此引用作为可绘制的图标。