将菜单添加到工具栏

adding menu to toolbar

我正在尝试向工具栏添加一个始终显示在工具栏右侧的菜单项

菜单文件

<item android:id="@+id/menu_edit"
    android:title="@string/edit"
    android:icon="@drawable/ic_baseline_edit_24"
    app:showAsAction="ifRoom"
   />

xml 文件

<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".Profile">

<com.google.android.material.appbar.AppBarLayout
    android:id="@+id/profileAppBar"
    android:layout_width="match_parent"
    android:layout_height="400dp"
    android:fitsSystemWindows="true">

    <com.google.android.material.appbar.CollapsingToolbarLayout
        android:id="@+id/profileCollapsingToolbarLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:contentScrim="@color/mediumBlue"
        app:layout_scrollFlags="exitUntilCollapsed|scroll"

        >


        <ImageView
            android:id="@+id/profileFullImage"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/abstract_dark_blue_polygonal_background_1035_9700"
            android:fitsSystemWindows="true"
            android:transitionName="profileImage"
            app:layout_collapseMode="parallax" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/shape_background" />

        <androidx.appcompat.widget.Toolbar

            app:menu="@menu/profile_toolbr"
            android:id="@+id/profileToolBar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"

         >

        </androidx.appcompat.widget.Toolbar>

    </com.google.android.material.appbar.CollapsingToolbarLayout>


</com.google.android.material.appbar.AppBarLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

java.class

public class Profile extends AppCompatActivity {


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

    toolbar = findViewById(R.id.profileToolBar);
    collapsingToolbarLayout = findViewById(R.id.profileCollapsingToolbarLayout);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);




}

问题是它没有显示,当我添加它时只显示为三个点

 @Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater menuInflater = new MenuInflater(Profile.this);
    menuInflater.inflate(R.menu.profile_toolbr,menu);
    return true ;
}

如何添加它以在工具栏上显示为图标 我尝试使用 app:showAsAction="always" 但同样没有变化

您不应使用 MenuInflater,因为它会创建新菜单。菜单由 activity 本身处理。所以你不需要使用new MenuInflater。所以你必须删除它并使用 getMenuInflater.

将您的 onCreateOptionsMenu 替换为:

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