Android ActionBar菜单有问题
大家好 我是Android新手,我尝试在Android应用程序中添加一个菜单,如下所示: 问题是,我没有在操作栏上看到菜单,我只是在没有图标的情况下看到它 这是我的密码:Android ActionBar菜单有问题,android,android-actionbar,Android,Android Actionbar,大家好 我是Android新手,我尝试在Android应用程序中添加一个菜单,如下所示: 问题是,我没有在操作栏上看到菜单,我只是在没有图标的情况下看到它 这是我的密码: public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.layout.menu, menu); return super.onCreat
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.layout.menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
switch (item.getItemId())
{
case R.id.chat:
// Single menu item is selected do something
// Ex: launching new activity/screen or show alert message
Toast.makeText(MainActivity.this, "Chat is Selected", Toast.LENGTH_SHORT).show();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
下面是xml文件:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Search, should appear as action button -->
<item android:id="@+id/chat"
android:icon="@drawable/ic_action_chat"
android:title="action_search"
android:showAsAction="ifRoom" />
<!-- Settings, should always be in the overflow -->
以下是应用程序的屏幕截图,您可以看到菜单已关闭且没有图标:
舱单:
将菜单XML文件中的
android:showAsAction
从android:showAsAction=“ifRoom”
更改为android:showAsAction=“always”
。这应该行得通
更新
更改充气机。充气(右布局菜单,菜单)代码>至充气机。充气(右菜单主菜单)
并使用menu文件夹中的main.xml
文件,而不是layout
文件夹中的menu.xml
文件
更新2
由于您在评论中提到您正在使用appcompat库,因此您应该修改菜单
文件夹中的main.xml
文件,如下所示:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:compat="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" >
<!-- Search, should appear as action button -->
<item android:id="@+id/chat"
android:icon="@drawable/ic_action_chat"
android:title="action_search"
compat:showAsAction="always" />
<!-- Settings, should always be in the overflow -->
</menu>
将您的菜单
移动到“菜单”文件夹中,然后按如下方式操作:
inflater.inflate(R.menu.menu, menu);
您可以尝试android:showAsAction=“always”。谢谢您的回答,但它总是显示菜单。我无法理解您的问题您是否使用带有硬件菜单按钮的设备/模拟器?您是否使用v7 appCompat库?如果是,请参阅。菜单文件的名称是什么?时间的名称是menu.xml。您将其保存在哪里?在菜单文件夹或布局文件夹中?创建活动时,也会自动创建菜单XML文档。因此,请确认菜单文件夹中存在与“活动”同名的XML文件。您使用的是“活动”还是“ActionBarActivity”?