【问题标题】:(android) Why doesn't app:actionLayout="" work?(android) 为什么 app:actionLayout="" 不起作用?
【发布时间】:2020-12-15 18:52:52
【问题描述】:

我正在使用导航抽屉。

我想在溢出菜单项上从文本更改为文本和图标。

所以我在 menu.xml 中使用了“android:icon”和“android:title”。但是什么都没有显示。

确切地说,我只能看到文字。

我使用了 android:actionLayout="@layout/overflow_menu_item"。在overflow_menu_title中定义了Text和Icon。

但它也不起作用

我不知道为什么它不起作用。

如何在溢出菜单项中设置文字和图标?

我搜索了很多,但没有帮助。

请帮帮我...

这是代码

溢出菜单.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"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MovieList">
    <item
        android:id="@+id/menu_movie"
        android:orderInCategory="150"
        android:icon="@drawable/ic_search_black_24dp"
        android:title="setting1"
        android:actionLayout="@layout/overflow_menu_title"
        app:showAsAction="never" />
    <item
        android:id="@+id/menu_gallery"
        android:orderInCategory="150"
        android:title="setting2"
        android:icon="@drawable/ic_search_black_24dp"
        app:showAsAction="never" />

    <item
        android:id="@+id/settings3"
        android:orderInCategory="150"
        android:icon="@drawable/ic_search_black_24dp"
        android:title="setting2"

        app:showAsAction="never" />
</menu>

overflow_menu_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:gravity="center_vertical"
    android:padding="2dp"
    android:orientation="horizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@color/colorPrimaryDark">

    <ImageView
        android:layout_width="24dp"
        android:layout_height="24dp"
        android:src="@drawable/ic_15"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="MOVIE"
        android:textSize="24dp"/>
</LinearLayout>

【问题讨论】:

标签: android xml menuitem overflow-menu


【解决方案1】:

您不能为不在操作栏上的项目使用android:actionLayout 为菜单项创建自定义布局。

换句话说,您不能为溢出菜单项中的非操作项设置android:actionLayout

【讨论】:

  • 你的意思是我不能使用 android:actionLayout 来处理溢出菜单项?那么我应该怎么做才能使用 android:actionLayout?有什么好办法吗?我想在溢出菜单“项目”上显示图标和文本
  • 您只能使用它在 Actionbar 本身上添加操作,例如 this answer .. 在 ActionBar 上的用户面前(不是溢出的 3 点图标)
  • 我大致了解。你是说 android:actionLayout 只能用在 actionbar 和 menu item 是不可能的?那么,有哪些方法可以在菜单项中设置图标和文字呢?
  • 是的,我的意思是 android:actionLayout 只能在 actionbar 中使用,以便为 ActionBar 项目设置自定义布局,但不能在 three-dots 溢出菜单中使用。你想要向溢出菜单项添加图标?
  • @ybybyb 你能检查一下this 答案就是你要问的
猜你喜欢
  • 1970-01-01
  • 2011-01-14
  • 2021-06-21
  • 2020-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多