我尝试在我的应用中自定义操作栏的外观时遇到了一些问题。我希望能够使用像素宽的分隔线来组合您在许多本机应用程序(例如Gmail,日历)中看到的操作栏项目。我找到了一种方法来添加菜单项并将'android:actionLayout'属性设置为分隔符的自定义布局:
<View
android:background="@color/LightGray"
android:layout_marginTop="5dip"
android:layout_marginBottom="5dip"
android:layout_width="1dip"
android:layout_height="fill_parent" />
这很好用,但问题是它被视为一个菜单项,操作栏似乎将菜单项的数量限制为4 - 任何其他菜单都被推入溢出菜单。
所以我猜我要问的是,是否有一种标准的方法来添加项目分隔符,而不必使用具有自定义视图的菜单项,并且不会计入操作栏项目的限制?
提前致谢!
答案 0 :(得分:11)
我不会尝试强制将分隔符放入系统不会自动添加它们的位置,因为它会使您的应用程序与平台不一致。默认行为是:
答案 1 :(得分:3)
我找不到标准方式,但我这样做的方法是使用android:actionLayout
属性作为菜单项,然后将分隔符放在那里。
答案 2 :(得分:2)
当谷歌发布3.0 SDK时,我得到了一个快速的演示应用,看看ActionBar是如何工作的,只是回顾它,如果我使用没有Icon drawables的Text Items,那么我会得到自动分割器。
我的menu.xml文件是这样的:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_text" android:showAsAction="ifRoom" android:title="@string/action_label_text" />
<item android:id="@+id/menu_text" android:showAsAction="ifRoom" android:title="@string/action_label_text" />
<item android:id="@+id/menu_text" android:showAsAction="ifRoom" android:title="@string/action_label_text" />
<item android:id="@+id/menu_text" android:showAsAction="ifRoom" android:title="@string/action_label_text" />
</menu>
也许这不适用于图标?
或者考虑一下,也许图标的大小有效?