2017-07-02 79 views
0

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

是表示这样 我要显示这样

在我的片段

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> 
+0

什么是您的活动,活动或AppCompatActivity的类型? –

+0

这是一个片段。不是活动。 – Chindara

+0

请问您可以发布您的代码吗? –

回答

3

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

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

在这种情况下,显示图片工具栏着,其原因在于:

当使用程序兼容性库,菜单的资源应该是指在应用程序中的showAsAction:命名空间,而不是机器人:命名空间。 同样,当不使用appcompat库时,您应该使用android:showAsAction属性。

我认为问题在于你正在混合框架ActivityAppCompat菜单。

您应该使用AppCompatActivityAppCompat Action barapp:showAsAction;或与android:showAsAction活动。

编辑:修改代码,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是结果。

+0

我仍然无法让它工作。请参考我的项目:https://github.com/Chindara/XamarinAndroidNavigationDrawer – Chindara

+0

非常感谢。它工作。我已经用解决方案更新了我的GitHub项目。 – Chindara

相关问题