Xamarin 中的工具栏 Android 不显示图标

Toolbar in Xamarin Android not showing icons

我正在尝试创建一个工具栏来保存我的应用程序中的项目。但是我的工具栏没有正确显示。

显示是这样的 我想这样显示

在我的片段中

    public override void OnCreateOptionsMenu(IMenu menu, MenuInflater inflater)
    {
        inflater.Inflate(Resource.Menu.menu_RefuelingToolbar, menu);
    }

menu_RefuelingToolbar.xml

    <?xml version="1.0" encoding="utf-8" ?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          tools:context=".RefuelingFragment">
          <item android:id="@+id/button_Save"
                android:icon="@drawable/ic_done_white_24dp"
                android:showAsAction="always"
                android:title="Settings" />
    </menu>

如果像这样扩展 AppCompatActivity 而不是 Activity :

public class MainActivity : AppCompatActivity {...}//instead of Activity

在这种情况下,工具栏无法显示图片,原因是:

When using the appcompat library, menu resources should refer to the showAsAction in the app: namespace, not the android: namespace. Similarly, when not using the appcompat library, you should be using the android:showAsAction attribute.

我认为问题在于您混合了框架 ActivityAppCompat 菜单。

您应该将 AppCompatActivityAppCompat Action barapp:showAsAction 一起使用;或 Activity 与 android:showAsAction

EDIT:像这样修改 menu_MGradeToolbar.xml 中的代码:

<?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/button_MGradeSave"
    android:icon="@drawable/ic_done_white_24dp"
    app:showAsAction="ifRoom"
    android:title="Save" />
</menu>

Here是结果。