Android选项菜单水平分隔线

时间:2011-09-13 19:57:49

标签: android

我在三星Galaxy手机中使用Android 2.2显示选项菜单时遇到问题。 我的菜单有四个项目,我按照我认为的默认方式安排它们:

    <item android:id="@+id/feedback" 
          android:icon="@drawable/ic_menu_send"
          android:title="@string/feedback" />

    <item android:id="@+id/share" 
          android:icon="@drawable/ic_menu_share"
          android:title="@string/share" />

    <item android:id="@+id/sign_out" 
          android:icon="@drawable/ic_menu_close_clear_cancel"
          android:title="@string/sign_out" />

    <item android:id="@+id/preferences" 
          android:icon="@drawable/ic_menu_preferences"
          android:title="@string/preferences" />

在相应的活动中,我正在以这种方式给菜单充气:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.sr_menu, menu);
    return true;
}

当菜单显示时,我看不到将两个上部项目与下部项目分开的水平线。网格显示为两个相邻列,而不是四个方块。 在模拟器中,它似乎工作正常,但在手机中我遇到了这个问题。

有什么想法吗?我应该创建一个自定义菜单吗?我不想更改菜单的任何其他属性,只是期望默认行为。

提前致谢。

2 个答案:

答案 0 :(得分:2)

这不是问题,不同的Android风格使用不同的布局,你可以在应用程序菜单中看到“不同设备有不同的菜单并使用不同的动画”。

但是,如果您希望在所有设备上实现一致的用户体验,则可以通过将FrameLayout与当前布局组合作为其第一帧,并将Relative Layout组合为您的菜单按钮来轻松实现。

然后您可以实现onCreateOptionsMenue并使您的菜单可见。

并使用onBackPressed隐藏MenuItem.setVisibility(View.GONE)

希望有所帮助

答案 1 :(得分:2)

尝试缩小菜单标题和图标项。当其中任何一个的尺寸太大时,我对标准菜单的布局有问题。尝试先显示标题,然后添加每个图标,直到问题出现。