为什么这个xamarin android菜单文本没有显示?

时间:2017-01-19 19:20:12

标签: android colors xamarin.android styles menuitem

我在Xamarin Android中有一个简单的应用程序,但菜单项没有显示文本。我玩过主题,背景等等都无济于事。由于我看不到文字,我无法确认文本是否丢失或文本是否为白色。

以下是截图:

Screenshot of expanded menu

Toolbar.xml

<?xml version="1.0" encoding="utf-8"?>
<Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/actionBarSize"
android:background="?android:attr/colorPrimary"
android:theme="@android:style/ThemeOverlay.Material.Dark.ActionBar"
     android:popupTheme="@android:style/ThemeOverlay.Material.Light"
     />

菜单/ main.xml中

 <?xml version="1.0" encoding="utf-8" ?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/action_rate"
         android:showAsAction="never"
         android:text="Rate Us!"
         android:orderInCategory="0"/>
   <item android:id="@+id/action_one"
         android:showAsAction="never"
         android:text="One"
         android:orderInCategory="1"/>
    <item android:id="@+id/action_blog"
         android:showAsAction="never"
         android:text="Blog"
         android:orderInCategory="2"/>
    <item android:id="@+id/action_about"
         android:showAsAction="never"
         android:text="About"
         android:orderInCategory="3"/>
    </menu>

MainActivity.cs

 // In OnCreate:
    var toolbar = FindViewById<Toolbar>(Resource.Id.toolbar);
    SetActionBar(toolbar);
    ActionBar.Title = ""

    public override bool OnCreateOptionsMenu(IMenu menu)
    {
            MenuInflater.Inflate(Resource.Menu.Top, menu);
            return base.OnCreateOptionsMenu(menu);
    }

Main.axml的顶部

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/Main">
<include
    android:id="@+id/toolbar"
    layout="@layout/toolbar"
    android:layout_gravity="top" />

AndroidManifest.xml中的应用程序部分

<application android:label="MyApp" android:theme="@style/MyTheme">

还有styles.xml - 自从我进行故障排除以来可能包含不需要的东西

<?xml version="1.0" encoding="utf-8" ?>
<resources>
  <style name="MyTheme" parent="@android:style/Theme.Black">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:colorPrimary">#000000</item>
    <item name="android:colorPrimaryDark">#000000</item>
    <item name="android:actionMenuTextColor">#000000</item>
  </style>
</resources>

我尝试过使用不同的主题,颜色等,仍然无法使菜单项中的文字显示出来。有没有办法控制菜单项的背景和文本颜色?

帮助我,Overflow Kenobi,你是我唯一的希望。

1 个答案:

答案 0 :(得分:1)

android:text更改为android:title

<?xml version="1.0" encoding="utf-8" ?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/action_rate"
         android:showAsAction="never"
         android:title="Rate Us!"
         android:orderInCategory="0"/>
   <item android:id="@+id/action_one"
         android:showAsAction="never"
          android:title="One"
         android:orderInCategory="1"/>
    <item android:id="@+id/action_blog"
         android:showAsAction="never"
          android:title="Blog"
         android:orderInCategory="2"/>
    <item android:id="@+id/action_about"
         android:showAsAction="never"
          android:title="About"
         android:orderInCategory="3"/>
    </menu>

enter image description here