如果菜单项被推送到拆分操作栏,有没有办法提供不同的可绘制图标?我的拆分操作栏颜色与顶部栏有很大不同,并且单个图标样式在视觉上并不像我希望的那样令人愉悦。
问问题
291 次
3 回答
0
将Drawables
要用于拆分的/res/drawable/
放入 并将其他放入/res/drawable-w480dp
。
于 2013-10-15T12:10:18.043 回答
-1
在 appcompat 库中,拆分 ActionBar 用于除大型、陆地或 sw480dp 之外的配置。如果您使用的是本机 ActionBar,我想您可以跳过大型配置。
然后,要提供替代可绘制对象,您应该在这些值目录中定义适当的引用,例如:
在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>
然后,在菜单配置中,您应该将此引用用作可绘制的图标。
于 2014-06-01T12:25:08.843 回答
-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 版本)
要更改一个可绘制对象,请使用 设置相应
ActionBar.Tab
的级别getIcon().setLevel()
。请注意,您不需要强制转换为LevelListDrawable
. 无论出于何种原因,级别概念都直接通过Drawable
类实现。
于 2013-10-09T15:27:14.060 回答