【问题标题】:Custom Layout menu item shows empty if showAsAction=never如果 showAsAction=never,自定义布局菜单项显示为空
【发布时间】:2015-05-08 15:32:43
【问题描述】:

我正在尝试使用以下代码将 SwitchCompat 添加到溢出菜单

main.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
       android:id="@+id/menu_dummy_content"
       android:title=""
       android:actionViewClass="android.support.v7.widget.SwitchCompat"
       app:showAsAction="never"
       app:actionLayout="@layout/menu_item_switch"/>

    <!-- TODO: Delete this after bug fix-->
    <item
       android:id="@+id/menu_dummy_content_2"
       android:title="Second Title"
       app:showAsAction="never"/>
</menu>

menu_item_switch 的布局是:

<android.support.v7.widget.SwitchCompat
    xmlns:android="http://schemas.android.com/apk/res/android"

    android:id="@+id/menu_item_switch_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:text="@string/menu_item_dummy_tasks"
    android:layout_centerVertical="true"/>

如果我执行 app:showAsAction="ifRoom" 或其他任何操作,开关会出现 完全正常,并且监听器工作正常。 但是一旦我将 showAsAction 设为从不。开关 view 变为白色/空,但 onOptionsItemSelected 表示点击的项目是 menu_dummy_content。

我也尝试过在自定义布局中仅使用 TextView,结果也空了。我错过了什么吗?

【问题讨论】:

    标签: android android-layout


    【解决方案1】:

    由于您将 showAsAction 属性设置为 never,因此这些菜单项将永远不会显示为操作布局。

    我认为您需要在此处添加标题文本...

     <item
       android:id="@+id/menu_dummy_content"
       android:title=""
       android:actionViewClass="android.support.v7.widget.SwitchCompat"
       app:showAsAction="never"
       app:actionLayout="@layout/menu_item_switch"/>
    

    像这样……

    android:title="First Title"
    

    【讨论】:

    • 感谢您的回答,但我想在溢出中显示 SwitchCompat 而不是文本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多