2

我正在尝试在我的自定义标题栏上添加 android 提供的溢出菜单,但它似乎没有出现

这是我活动中的代码

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

在我的 .xml

     <?xml version="1.0" encoding="utf-8"?>
     <menu xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:id="@+id/settings" android:title="Settings" />
     <item android:id="@+id/help" android:title="Help" />
     </menu>

自定义标题条码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"   
android:layout_height="44dp"   
android:orientation="horizontal"   
android:gravity="center_vertical"
android:background="#000000"   
>
<ImageView
    android:id="@+id/indicator"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="left"              
    android:src="@drawable/indicator"
    android:layout_marginRight="3dip"
     />

   <ImageView
    android:id="@+id/indicator"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="left"              
    android:src="@drawable/launcher_blue_tile"
    android:layout_marginRight="5dip"
     />

    <TextView              
    android:id="@+id/titleHeading"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/app_name"
    style="@style/titleBarHeading"

    /> 

安卓清单

    <activity
        android:name=".ILaneMainMenuActivity"
        android:icon="@drawable/indicator"
        android:label="@string/app_name"
        android:theme="@style/appTheme">

    </activity>

我查看了 Google 提供的文档以及在线的多种资源,但找不到解决方案。任何帮助都感激不尽!

4

2 回答 2

1

如果您正在使用操作栏,溢出菜单由操作栏右侧的“...”提示触发,或通过带有屏幕外菜单按钮的设备的 MENU 按钮触发。

如果您不使用操作栏——这是我的猜测——那么您将需要创建自己的菜单系统。

于 2013-03-01T20:56:00.177 回答
1

您的自定义标题栏应该如何适应 ActionBar/Menu 排列?MenuInflater#inflate 将根据添加到 /menu/overflow_menu.xml 文件中的项目创建一个 ActionBar(Honeycomb / API 11+ 后)或 Menu(API-11 前)。

如果您的项目过多,则会自动添加溢出菜单(同样,仅在 API 11+ 中) 。您只有 2 个项目 - 设置和帮助 - 所以除非它是一个小屏幕,否则这两个项目都可能适合,所以不需要溢出。

您最好探索 ActionBar 的样式可能性 - http://developer.android.com/guide/topics/ui/actionbar.html#Style - 其中包括允许自定义图标和标题,甚至添加自定义视图/纽扣。如果您想支持较早的 Android 版本,您可以拥有一种仅适用于 Honeycomb 之前的设备的样式,但您必须手动将该布局添加到您的活动中。

另一种选择是ActionBarSherlock,强烈推荐并广泛使用,但我没有个人经验。

于 2013-03-01T21:03:58.747 回答