我正在尝试在操作栏中创建一个项目(命名为" 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);
}
答案 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