【问题标题】:Switch(master on/off) inside android:actionLayout not workingandroid:actionLayout 内的开关(主开/关)不起作用
【发布时间】:2014-02-03 09:53:26
【问题描述】:

我需要在设置中添加主开/关(开关)作为子菜单。我使用了单独的布局 xml 并将其作为 android:actionLayout 添加到 menu.xml。但不是切换,而是显示一个空行。那里没有显示开关。这是我使用的代码。 main.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item 
        android:id="@+id/menu"
        android:orderInCategory="1"
        android:showAsAction="never"
        android:title="Menu"
        />
    <item 
        android:id="@+id/myswtich"
        android:showAsAction="never"
        android:actionLayout="@layout/switch_layout"/>

</menu>

switch_layout.xml

<?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <Switch
        android:id="@+id/switchForActionBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="" />

</RelativeLayout> 

如果我在 menu.xml 中更改为 android:showAsAction="always" ,则该开关将显示在操作栏中。但我想要的是在子菜单中显示它。我的代码有什么问题?

【问题讨论】:

    标签: android android-layout submenu


    【解决方案1】:

    操作布局仅存在于操作栏上(即显示在操作栏上的项目,例如通过showAsAction="ifRoom"(假设有空间)或showAsAction="always")。如果可以将checkable Menu Items 用于需要可切换的子菜单。

    【讨论】:

    • 谢谢。我以前不知道。你有什么想法让它们进入子菜单吗?
    • 除了按照我的建议用可检查的菜单项替换您的开关之外?没有。
    • 啊!不。这不可能。我必须在那里使用开关。
    • 这(显示自定义布局)不是 Android API 允许您对不在操作栏上的任何菜单项(子菜单或不子菜单)执行的操作。如果你必须有一个开关,你必须使用与使用菜单不同的技术。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多