在菜单下拉开关按钮显示空白

问题描述 投票:0回答:1

我想在选项菜单中添加一个开关,但由于某些原因,而不是自定义布局它显示了一个空白。

screen_on_menu_button.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <Switch
        android:id="@+id/screen_on_switch"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:switchPadding="8dp"
        android:text="@string/menu_screen_on" />

</RelativeLayout>

菜单。 XML:

<item
    android:id="@+id/new_game_button"
    android:title="@string/menu_new_game"
    android:visible="true"
    app:showAsAction="always"
    android:icon="@drawable/ic_new_game"/>

<item
    android:id="@+id/change_names"
    android:title="@string/menu_change_names"
    app:showAsAction="never"/>

<item
    android:id="@+id/layout_change"
    android:title="@string/menu_change_layout"
    app:showAsAction="never"/>

<!--android:checkable="true" -->
<item
    android:id="@+id/keep_screen_on"
    app:actionLayout="@layout/screen_on_menu_button"
    app:showAsAction="never"
    android:title="" />

<item
    android:id="@+id/help_feedback"
    android:title="@string/menu_help_feedback"
    app:showAsAction="never"/>

<item
    android:id="@+id/about"
    android:title="@string/menu_about"
    app:showAsAction="never"/>

我试图改变app:actionLayoutandroid:app:actionLayout,除去相对布局,只留下自定义XML的开关和所有它的作用是增加layout_changehelp_feedback之间的空白。如果我设置showAsAction总是被显示在动作条,但是这不是我打算做。此外,我不得不删除开关和设置的菜单项为可检查的选项,但是这一次不打算和最相似的情况下,提供什么样的我已经执行。

那么,如何能整合下拉选项菜单里面那个开关?

java android android-optionsmenu
1个回答
0
投票

你不能在下拉菜单中添加自定义布局。它仅接受<item><group>。另一种选择可以为使用<item>android:checkable和改变取决于值默认选中状态。 其他选项可以

  1. 替换PopupWindow菜单
  2. 使用app:showAsAction="always"显示动作条交换机。
© www.soinside.com 2019 - 2024. All rights reserved.