【问题标题】:action bar not showing options menu in jelly bean操作栏未在果冻豆中显示选项菜单
【发布时间】:2015-11-12 19:08:03
【问题描述】:

操作栏在果冻豆中不显示选项菜单,而在棒棒糖中显示。 这是我的styles.xml`

 <resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">#00796B</item>
    <item name="colorPrimaryDark">#004D40</item>
    <item name="colorAccent">#c51162</item>
   <item name="android:textColorPrimary">@color/abc_primary_text_disable_only_material_dark</item>


</style>


 </resources>` 

这是我的应用程序 gradle

 compileSdkVersion 22
buildToolsVersion "22.0.1"

defaultConfig {
    applicationId "com.example.dell.syncytium"
    minSdkVersion 16
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
   }

我的 MainActivity 扩展了 AppCompatActivity。 请帮助我。在此先感谢

    @Override
public boolean onCreateOptionsMenu(Menu menu) {
    boolean result = super.onCreateOptionsMenu(menu);
    menu.add(0, logoutMenu, 0, "Logout");
    menu.add(0,Play,1,"Play Music");
    menu.add(0,Stop,2,"Stop Music");
    return result;
  }

【问题讨论】:

  • 手机的菜单按钮是软键还是物理键?
  • 它有软键。按菜单软键时,会显示选项菜单,但我需要操作栏中的三点菜单。
  • 带有硬件菜单按钮的手机不显示溢出菜单图标(3 个虚线图标)。这就是我问的原因。尝试发布与onCreateOptionMenu相关的代码
  • '@Override public boolean onCreateOptionsMenu(Menu menu) { boolean result = super.onCreateOptionsMenu(menu); menu.add(0, logoutMenu, 0, "注销"); menu.add(0,Play,1,"播放音乐"); menu.add(0,Stop,2,"停止音乐");返回结果; }'
  • 我用 onCreateOptionsMenu 更新了代码

标签: android android-actionbar android-4.1-jelly-bean


【解决方案1】:

menu.xml

<menu 
 xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:app="http://schemas.android.com/apk/res-auto"
 xmlns:tools="http://schemas.android.com/tools" 
 tools:context=".MainActivity">
<item
    android:id="@+id/connect_scan"
    android:icon="@drawable/menu"
    android:showAsAction="ifRoom|withText"/>
<item android:id="@+id/discoverable"
    android:icon="@android:drawable/ic_menu_mylocation"
    android:showAsAction="ifRoom|withText"/>
</menu>

MainActivity.java

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

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {
        case R.id.menu:
         break;
        case R.id.discoverable:
         break;
    }
    return false;
  }
}

【讨论】:

    【解决方案2】:

    您可以在没有 menu.xml 文件的情况下从您的活动本身制作菜单,但它会在操作栏上为您提供单一选项.....

    试试这个..

     public class MainActivity extends Activity {
    
    
     @Override
     protected void onCreate(Bundle savedInstanceState) {
        // ---- //
    
     }
     @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            menu.add(0, 1, 1, "New");
            menu.add(0, 2, 2, "Create");
            menu.add(0, 3, 3, "Open");
            menu.add(0, 4, 4, "Delete");
            menu.add(0, 5, 5, "Exit");
    
            return true;
        }
    
      @Override
      public boolean onOptionsItemSelected(MenuItem item) {
    
            switch (item.getItemId()) {
            case (1):
               //----//
                return true;
            case (2):
               //---//
                return true;
            case (3):
               //---//
                return true;
            case (4):
                //---//
                return true;
            case (5):
                finish();
                return true;
    
            }
            return false;
        }
     }
    

    输出

    【讨论】:

    • 我做了同样的事情,它适用于棒棒糖,但在果冻豆手机中看不到三个点。
    • 感谢您的关注,我会再次尝试两个答案并告知是否有效。
    • 如果不显示,则下载图片(三点)并将其放入drawable文件夹并用作图标...
    • 是的,我这样做了。谢谢 mohit @mohit
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多