C# Xamarin Android中的工具栏未显示图标
我正在尝试创建一个工具栏来保存应用程序中的项目。但我的工具栏显示不正确 它是这样显示的 我想这样显示C# Xamarin Android中的工具栏未显示图标,c#,android,visual-studio,xamarin,android-toolbar,C#,Android,Visual Studio,Xamarin,Android Toolbar,我正在尝试创建一个工具栏来保存应用程序中的项目。但我的工具栏显示不正确 它是这样显示的 我想这样显示 在我的片段中 public override void OnCreateOptionsMenu(IMenu menu, MenuInflater inflater) { inflater.Inflate(Resource.Menu.menu_RefuelingToolbar, menu); } menu_RefuelingToolbar.xml
在我的片段中
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
<?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>
在这种情况下,工具栏无法显示图片,原因是:
当使用appcompat库时,菜单资源应该引用app:namespace中的showAsAction,而不是android:namespace。
类似地,当不使用appcompat库时,应该使用android:showaAction属性
我认为问题在于您将框架活动
和AppCompat
菜单混合在一起
您应该将AppCompat活动
与AppCompat操作栏
和app:showasaaction
一起使用;或使用android:showAsAction进行活动
编辑:在菜单\u MGradeToolbar.xml
中修改代码,如下所示:
public class MainActivity : AppCompatActivity {...}//instead of Activity
<?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>
是结果。如果扩展
AppCompatActivity
而不是Activity
,如下所示:
public class MainActivity : AppCompatActivity {...}//instead of Activity
<?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>
在这种情况下,工具栏无法显示图片,原因是:
当使用appcompat库时,菜单资源应该引用app:namespace中的showAsAction,而不是android:namespace。
类似地,当不使用appcompat库时,应该使用android:showaAction属性
我认为问题在于您将框架活动
和AppCompat
菜单混合在一起
您应该将AppCompat活动
与AppCompat操作栏
和app:showasaaction
一起使用;或使用android:showAsAction进行活动
编辑:在菜单\u MGradeToolbar.xml
中修改代码,如下所示:
public class MainActivity : AppCompatActivity {...}//instead of Activity
<?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>
是结果。您的活动、活动或应用程序活动的类型是什么?它是一个片段。不是活动。请发布您的代码好吗?请参考我的项目:您的活动、活动或AppCompatActivity的类型是什么?它是一个片段。不是一个活动。你能发布你的代码吗?请参考我的项目:我仍然无法让它工作。请参考我的项目:非常感谢。它可以工作。我已经用这个解决方案更新了我的GitHub项目。我仍然无法让它工作。请参考我的项目:非常感谢。我已经用这个解决方案更新了我的GitHub项目。