安卓选项菜单水平分割线

3
我在使用安卓2.2系统的三星Galaxy手机时遇到了显示选项菜单的问题。我的菜单有四个选项,我按照默认方式进行了排列。
    <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个回答

2

这不是一个问题,不同的安卓版本使用不同的布局,在应用程序菜单中可以看到这一点,“不同的设备有不同的菜单和使用不同的动画”。

但是,如果您想在所有设备上实现统一的用户体验,您可以通过将FrameLayout与当前布局组合为其第一个帧,以及RelativeLayout作为您的菜单按钮的宿主来轻松实现。

接下来,您可以实现onCreateOptionsMenu并使菜单可见。

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

希望这可以帮助您。


2

尝试将菜单标题和图标项目缩小。如果其中之一的大小过大,标准菜单的布局可能会出现问题。首先仅显示标题,然后添加每个图标,直到出现问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接