【问题标题】:Is there a standard way to add dividers between action bar items in Android 3.0?在 Android 3.0 中的操作栏项目之间添加分隔线是否有标准方法?
【发布时间】:2011-05-06 10:34:34
【问题描述】:

我在尝试自定义应用中操作栏的外观时遇到了一点问题。我希望能够使用像素宽的分隔线来对您在许多本机应用程序(例如 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 - 任何其他人都会被推入溢出菜单。

所以我想我要问的是是否有一种标准方法可以添加项目分隔线,而不必使用带有自定义视图的菜单项,并且不计入操作栏项目的限制?

提前致谢!

【问题讨论】:

  • “操作栏”实际上是指用户单击菜单按钮时出现的菜单吗?
  • 您好,抱歉,才看到这条评论。我指的是 Honeycomb 中引入的特定于平板电脑的操作栏,默认情况下使用菜单项,但可以进一步自定义,这是我想要实现的。

标签: android layout menuitem android-3.0-honeycomb android-actionbar


【解决方案1】:

我不会尝试将分隔线强制放置在系统不会自动添加的位置,因为这会使您的应用与平台不一致。默认行为是:

  • 溢出和其他之间的分隔符。
  • 文本和另一个项目之间的分隔线,它可以消除文本属于哪个项目的歧义。

【讨论】:

  • 谢谢 - 这确实有道理
【解决方案2】:

我找不到标准的方法,但我的方法是使用android:actionLayout 属性作为菜单项,并将分隔符放在那里。

【讨论】:

  • 非常有用的指针。我创建了一个 XML 布局,其中 TextView 具有我的图标的 drawableLeft 和我的分隔符的 drawableRight,然后将 drawablePadding 设置为美观的值。像魅力一样工作。
  • @Chris:我使用过 android:actionLayout 但它不适合我。我在布局中添加了简单的视图,菜单项中的分隔线为黑色,但它不起作用......你能帮我吗?
  • 我希望在其中一个菜单项中设置分隔符。建议您提出任何实施想法。提前致谢。
【解决方案3】:

当 Google 发布 3.0 SDK 时,我得到了一个快速演示应用程序来了解 ActionBar 的工作原理,然后回顾一下,如果我使用没有图标可绘制对象的文本项,那么我会自动绘制分隔线。

我的 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>

也许这不适用于图标??

或者想一想,也许图标的大小有影响?

【讨论】:

  • 给我这个例子和链接。
  • 链接是什么? SDK 示例?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-12
  • 1970-01-01
  • 1970-01-01
  • 2014-08-31
  • 1970-01-01
  • 2019-10-24
相关资源
最近更新 更多