android - 项目被添加到 "overflow menu"而不是 ActionBar

标签 android android-actionbar android-menu

我一直在尝试从一本书中实现一个小应用程序,其中包括向操作栏添加项目。出现的问题是这些项目被添加到溢出菜单的列表中(右上角带有三个点的图标),而不是在主操作栏上(它应该在的地方)。

这是 menu_main 文件-

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context = ".MainActivity"
xmlns:app="http://schemas.android.com/apk/res-auto">

<item
    android:id="@+id/action_settings"
    android:title="@string/action_settings"
    android:orderInCategory="100"
    app:showAsAction="never"
    />

<item
    android:id="@+id/action_create_order"
    android:title="@string/action_create_order"
    android:icon = "@drawable/create_order"
    android:orderInCategory="1"
    app:showAsAction="ifRoom"
    />

这是 MainActivity 代码-

package com.newboston.bitsandpizzas;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.content.Intent;

public class MainActivity extends Activity {

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch(item.getItemId()){
        case R.id.action_create_order:
            Intent intent = new Intent(this,OrderActivity.class);
            startActivity(intent);
            return true;
        case R.id.action_settings:
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_main,menu);
    return super.onCreateOptionsMenu(menu);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}
}

Screenshot of the application 我尝试将两者的 showAsAction 设置为“始终”,但问题仍然存在。

(模拟器是bluestacks)

最佳答案

根据您的屏幕尺寸和操作栏标题,可能没有足够的空间让您显示两个菜单选项项。即使您将两者都设置为“ifRoom”(推荐超过“始终”),如果没有空间,菜单项也会显示在溢出菜单项中。

您可以通过以下方式验证这一点:检查您的布局在更大的屏幕尺寸下的外观,菜单项的可用空间更大,缩短操作栏标题以腾出更多空间,或者观察水平方向的菜单项布局以查看问题仍然存在。

如果这不是问题所在,请张贴一张屏幕截图,说明当您将两个项目都设置为“ifRoom”时操作栏的显示方式,并张贴有关如何创建和扩展选项菜单的代码。

请记住,菜单项的布局因设备而异。因为屏幕尺寸更大的设备可以在主操作栏中显示更多菜单项。 希望这可以帮助。

关于android - 项目被添加到 "overflow menu"而不是 ActionBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37994949/

相关文章:

android - 小部件 : Get data from configure Activity to AppWidgetProvider

没有 ActionBar 的 Android 选项菜单?

android - Webview 错误未捕获 SecurityError

ListFragment 中的 Android Actionbar Search 小部件实现

android - 操作栏后退箭头方向

Android,如何创建选项菜单

android - 如何在android中覆盖网页 View 文本选择菜单

android - 在 Android 4.0.3 中为选项菜单创建网格样式布局

android - 如何在 Android : select X from TABLE where X=something AND Y=something 上运行此 SQLite 查询

android - NavigationView 项目选择未在选项卡更改时更新