我想用ToolBar而不是ActionBar,但不要在工具栏上显示菜单!!!我想要设置菜单,比如ActionBar中的RefreshSetting个按钮

enter image description here

Toolbar.xml code :

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    android:minHeight="?attr/actionBarSize"
    app:navigationContentDescription="@string/abc_action_bar_up_description"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:title="Main Page"
    android:gravity="center"/>

MainPage.java code:

public class MainPage extends AppCompatActivity {
    private Toolbar toolbar;

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

        toolbar = (Toolbar) findViewById(R.id.main_toolbar);
        setSupportActionBar(toolbar);
        if (getSupportActionBar() != null) {
            getSupportActionBar().setTitle("Main Page");
        }
        toolbar.setSubtitle("Test Subtitle");
        toolbar.inflateMenu(R.menu.main_menu);
    }
}

main_menu.xml code :

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/menu_main_setting"
        android:icon="@drawable/ic_settings"
        android:orderInCategory="100"
        app:showAsAction="always"
        android:actionLayout="@layout/toolbar"
        android:title="Setting" />

    <item
        android:id="@+id/menu_main_setting2"
        android:icon="@drawable/ic_settings"
        android:orderInCategory="200"
        app:showAsAction="always"
        android:actionLayout="@layout/toolbar"
        android:title="Setting" />

</menu>

如何解决此问题并在Toolbar中显示菜单?感谢所有亲爱的&lt;3

推荐答案

只需在主页上这样覆盖onCreateOptionsMenu.JAVA

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main_menu, menu);
    return true;
}

Android相关问答推荐

Kotlin多平台向导,不兼容版本(ANP 8.2.0)ANP 8.1.2

CameraX与jetpack组成屏幕逻辑

每次重启Android时预填入Room数据库

Android 11:在try 获取文件的永久权限后,仍然没有读写权限

Hilt+Worker NoSuchMethodException:<;init>;[class android.content.Context,class androidx.work.WorkerParameters]

如何在Android中使用嵌套的Recyclerview

Android AGP 8 + Gradle 8 + Kotlin 1.8 导致 Kapt 出错

如何从包装在泛型中的 retrofit 调用中检索密钥?

LazyColumn 项目,隐式接收器无法在此上下文中调用单元

如何在 Android Jetpack compose 中为列表初始填充设置动画

如何在 Compose 中使用合并的单元格创建网格视图?

java.lang.String 类型的值 Forbidden 无法转换为 JSONObject

无法为:app@debug/compileClasspath解析依赖项com.github.dhaval2404:imagepicker-support:1.7.1

如何使用底页,启用和展开父交互

在jetpack compose中将图像添加到脚手架顶部栏

如何授予对 Uri 图像的永久权限(androidx)

基线配置文件 x R8/Proguard

未解决的参考:getIntentSender / try 在 Jetpack Compose 中获取电话号码时

在 Android Studio 中保存数据

如何设置 Android Auto 媒体应用按钮 colored颜色