我在三星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;
}
当菜单显示时,我看不到将两个上部项目与下部项目分开的水平线。网格显示为两个相邻列,而不是四个方块。 在模拟器中,它似乎工作正常,但在手机中我遇到了这个问题。
有什么想法吗?我应该创建一个自定义菜单吗?我不想更改菜单的任何其他属性,只是期望默认行为。
提前致谢。
答案 0 :(得分:2)
这不是问题,不同的Android风格使用不同的布局,你可以在应用程序菜单中看到“不同设备有不同的菜单并使用不同的动画”。
但是,如果您希望在所有设备上实现一致的用户体验,则可以通过将FrameLayout
与当前布局组合作为其第一帧,并将Relative Layout
组合为您的菜单按钮来轻松实现。
然后您可以实现onCreateOptionsMenue并使您的菜单可见。
并使用onBackPressed
隐藏MenuItem.setVisibility(View.GONE)
希望有所帮助
答案 1 :(得分:2)
尝试缩小菜单标题和图标项。当其中任何一个的尺寸太大时,我对标准菜单的布局有问题。尝试先显示标题,然后添加每个图标,直到问题出现。