【问题标题】:Contextual Action Bar menu forces items into overflow menu when there is room当有空间时,上下文操作栏菜单强制项目进入溢出菜单
【发布时间】:2012-05-30 07:53:57
【问题描述】:

我有一个包含三个菜单项的上下文操作栏,所以只有三个图标。驾驶室肯定有空间,但只有一个图标显示,另外两个被强制进入 oveflow 菜单。如果我在所有三个菜单项中使用 android:showAsAction="always" 那么它们都会显示并且有空间。但是,我宁愿使用 android:showAsAction="ifRoom" 来显示所有三个图标的结果。已尝试在每个项目上删除 android:title ,但这仍然导致 oveflow 菜单,所以我知道它并没有尝试将标题放入。

<item android:id="@+id/delete_quiz"
    android:title="DeleteQuiz"
    android:icon="@drawable/ic_menu_close_clear_cancel"
    android:showAsAction="ifRoom"
    />
<item android:id="@+id/load_quiz"
    android:title="LoadQuiz"
    android:icon="@drawable/ic_menu_close_clear_cancel"
    android:showAsAction="ifRoom"
    />
<item android:id="@+id/start_quiz"
    android:title="StartQuiz"
    android:icon="@drawable/ic_menu_close_clear_cancel"
    android:showAsAction="ifRoom"
    />

我使用的图标是每个菜单项的 ic_menu_close_clear_cancel。

有没有人有过类似的经历?你做了什么?提前谢谢你。

【问题讨论】:

  • 您找到解决方案了吗?我面临同样的问题

标签: android


【解决方案1】:

尝试使用 layoutWeight 属性。 layoutWeight 不适用于相对布局。

将 layoutWeight 的值设置在 0 到 1 之间

0 - 贪婪(将占据全部空间)

1 - 慷慨(只需要多少就多少)

试着在 0 到 1 之间摆弄,你会成功的,试试 0.25,或者全部都用 0.5。

【讨论】:

  • 又尝试了一件事情。将我的图标更改为 ldpi(18 x 18 像素),以便在 Platform 4.03 Level 15(WQVGA400)上进行测试。还是一样的问题。当所有 4 个图标都为“ android:showAsAction="ifRoom" ”时,仅显示一个图标,其余图标放入溢出菜单。但是更改为“ android:showAsAction="always" ”会导致所有 4 个图标都显示,证明有空间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多