无法直接将项目加载到操作栏中

时间:2016-07-11 02:32:10

标签: java android xml android-studio

我正在尝试在操作栏中创建一个项目(命名为" ADD")。 但每当我运行代码时,它首先会显示一个显示为三个垂直点的项目,当我点击垂直点时,我的项目就会出现。

我也注意到点击名为" ADD"的项目,它会变回三个垂直点

有人可以告诉我为什么会这样吗?我想要我的物品" ADD"直接显示在屏幕上,而不是通过单击其他项目来访问它。

JAVA

@Override

    public boolean onCreateOptionsMenu(Menu menu) 
   {

        MenuInflater inflater = getMenuInflater();

        inflater.inflate(R.menu.menu, menu);

        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) 
   {

        int id = item.getItemId();

        if (id == R.id.add) 
        {
            Log.i("Action Button Tapped", "Add");
            return true;
        }

        return super.onOptionsItemSelected(item);
    }

1 个答案:

答案 0 :(得分:0)

您可能需要考虑使用支持工具栏而不是操作栏,因为

  

...本机ActionBar的行为有所不同,具体取决于设备可能使用的Android系统版本。相比之下,最新功能已添加到支持库的工具栏版本中,并且可以在任何可以使用支持库的设备上使用。

请参阅https://developer.android.com/training/appbar/setting-up.html

工具栏更通用,更灵活,可以更轻松地完成您想要的操作。

https://developer.android.com/reference/android/support/v7/widget/Toolbar.html

也就是说,为了推进您当前的实施,您可能想尝试设置" showAsAction"到菜单项上的true XML属性。像这样:

<menu 
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto" >
  <item android:id="@+id/my_add_action"
      android:icon="@drawable/ic_action_add"
      android:title="@string/action_add_label"
      app:showAsAction="always"  />    
</menu>

设置

app:showAsActionAlways="true" 

应始终将项目放在应用栏中(又名&#34;操作栏&#34;)。但是,像这样强迫行动进入吧台并不是最好的做法。

此外,从Android 4.3(API级别18)开始,v7 appcompat库中似乎存在一些可靠性混淆: Android 4.3 menu item showAsAction="always" ignored

查看Item with app:showAsAction not showing以获取添加操作项的指南和Android 4.3 menu item showAsAction="always" ignored

也可能会有所帮助

为了完整性,请参阅此处解释此属性的文档:https://developer.android.com/guide/topics/resources/menu-resource.html