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.
我认为问题在于您混合了框架 Activity
和 AppCompat
菜单。
您应该将 AppCompatActivity
与 AppCompat Action bar
和 app: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是结果。
我正在尝试创建一个工具栏来保存我的应用程序中的项目。但是我的工具栏没有正确显示。
显示是这样的
在我的片段中
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.
我认为问题在于您混合了框架 Activity
和 AppCompat
菜单。
您应该将 AppCompatActivity
与 AppCompat Action bar
和 app: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是结果。