【问题标题】:Error when Adding Menu to App - Xamarin c# Visual Studio将菜单添加到应用程序时出错 - Xamarin c# Visual Studio
【发布时间】:2017-11-13 01:09:13
【问题描述】:

我正在尝试在我的应用程序中扩展 XML 菜单,但是当我尝试在模拟器上部署应用程序时出现以下错误:

Unhandled Exception:

Java.Lang.RuntimeException: Unexpected end of document occurred

我的 XML 也位于 Resources/menu/main

膨胀菜单代码:

XML 代码:

<?xml version="1.0" encoding="utf-8" ?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
  <item android:id="@+id/mnuAppLogo"
        android:title="logoHere"/>
  <item android:id="@+id/mnuAppName"
  android:title="App Name"/>
  <menu>
    <item android:id="@+id/submenuHelp"
    android:title="Help" />
    <item android:id="@+id/submenuExit"
    android:title="Exit" />
  </menu>
</menu>

这是为什么? 如果您需要更多代码,请告诉我...

提前致谢。

更新 1:

我想让logoHere and App Name 出现在1 and 2 的位置,而另外2 个Help and Exit 在菜单内。

【问题讨论】:

    标签: android xml xamarin xamarin.android


    【解决方案1】:

    要创建“子菜单”,元素必须包含在 item 元素:

    <?xml version="1.0" encoding="UTF-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:id="@+id/mnuAppLogo" android:title="logoHere" />
        <item android:id="@+id/mnuAppName" android:title="App Name">
            <menu>
                <item android:id="@+id/submenuHelp" android:title="Help" />
                <item android:id="@+id/submenuExit" android:title="Exit" />
            </menu>
        </item>
    </menu>
    

    如何使前 2 个(logoHere 和应用程序名称)不在“汉堡菜单”中而仅在操作栏上?然而,帮助和退出将在菜单内。

    您可以使用showAsAction="never" 始终将菜单项放在溢出菜单中,并使用showAsAction="ifRoom" 将其显示为操作栏按钮(如果有空间)。

    <menu xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:id="@+id/mnuAppLogo" showAsAction="ifRoom" android:title="logoHere" />
        <item android:id="@+id/mnuAppName" showAsAction="ifRoom" android:title="App Name" />
        <item android:id="@+id/submenuHelp" showAsAction="never" android:title="Help" />
        <item android:id="@+id/submenuExit" showAsAction="never" android:title="Exit" />
    </menu>
    

    【讨论】:

    • 如何使前 2 个 (logoHere and App Name) 不在“汉堡菜单”中而仅在操作栏上?然而,帮助和退出将在菜单内。
    • 请参阅更新 1
    • @DEFALT 您不断更改原始问题/问题,您应该创建一个新问题。
    猜你喜欢
    • 1970-01-01
    • 2014-06-08
    • 1970-01-01
    • 2022-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多