【问题标题】:Why is this xamarin android menu text not showing?为什么这个 xamarin android 菜单文本没有显示?
【发布时间】:2017-06-04 15:14:10
【问题描述】:

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

这是屏幕截图:

工具栏.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,你是我唯一的希望。

【问题讨论】:

    标签: android colors xamarin.android styles menuitem


    【解决方案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>
    

    【讨论】:

    • 就是这样。谢谢!
    • 顺便说一句,我到处都使用深色主题。您如何设置菜单项的背景/主题?我的出现了白色背景,黑色文本(我从toolbar.xml中删除了popuptheme)
    • 我想通了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-14
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    • 2017-01-21
    相关资源
    最近更新 更多