操作栏中未显示溢出菜单

时间:2015-09-18 09:56:46

标签: android-layout android-fragments android-intent android-activity

我花了很多时间在动作栏中显示溢出菜单(三个点),但我无法显示它。我的java代码是

@Override
        public boolean onCreateOptionsMenu(Menu menu) {

            getMenuInflater().inflate(R.menu.map_type, menu);
            return true;
        }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()){
        case R.id.mapTypeNone:
            myMap.setMapType(GoogleMap.MAP_TYPE_NONE);
            break;
        case R.id.mapTypeNormal:
            myMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
            break;
        case R.id.mapTypeSatellite:
            myMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
            break;
        case R.id.mapTypeTerrain:
            myMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
            break;
        case R.id.mapTypeHybrid:
            myMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
            break;

        default:
            break;      
        }

        return super.onOptionsItemSelected(item);
    }
}

map_type.xml文件是

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/mapTypeNormal"
        android:showAsAction="never"
        android:title="Normal"/>
    <item
        android:id="@+id/mapTypeSatellite"
        android:showAsAction="never"
        android:title="Satellite"/>
    <item
        android:id="@+id/mapTypeTerrain"
        android:showAsAction="never"
        android:title="Terrain"/>
    <item
        android:id="@+id/mapTypeHybrid"
        android:showAsAction="never"
        android:title="Hybrid"/>
    <item
        android:id="@+id/mapTypeNone"
        android:showAsAction="never"
        android:title="None"/>

</menu>

和manifest.xml是

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
 <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:uiOptions="splitActionBarWhenNarrow" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

               </application>

请告诉我该怎么做才能在动作栏中创建溢出菜单,而不是从我这里显示。请帮帮我。

2 个答案:

答案 0 :(得分:2)

你也可以在这里使用这个小黑客:

str_replace( ',', '', $_POST['loanreq'] );

放置它的好地方是你的Application类的onCreate-Method。

它将强制App显示溢出菜单。菜单按钮仍然有效,但它会打开右上角的菜单。 从Android 4.4开始,无论设备是否具有物理MENU按钮,操作栏中的......功能都将存在。谷歌目前的兼容性定义文档现在对于拥有一个专用的MENU按钮更加有力。

答案 1 :(得分:0)

尝试更改菜单布局文件来自于:android:showsAction =&#34; never&#34;至
android:showsAction =&#34; ifRoom&#34;。

希望这可以帮助你..

相关问题