android - 菜单文件夹中的 android:actionLayout 创建 Android 操作栏不起作用吗?
问题描述
我正在使用菜单目录创建一个 Android 操作栏。在创建新栏时,我想自定义此操作栏,因此我在菜单目录下的 xml 文件中的一项中添加了操作布局。这就是我所做的
menu_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:orderInCategory="101"
android:id="@+id/menu_refresh"
android:title="refresh"
android:icon="@drawable/menu_refresh"
app:showAsAction="always"/>
<item
android:orderInCategory="102"
android:id="@+id/menu_search"
android:title="search"
app:showAsAction="always"
android:actionLayout="@layout/search_layout"/>
<item
android:orderInCategory="103"
android:id="@+id/menu_setting"
android:title="setting"
android:icon="@drawable/menu_settings"
app:showAsAction="always"/>
</menu>
在第二项中,我添加了 actionLayout,而 search_layout.xml 只是带有 TextView 和 EditText 的简单 LinearLayout。
搜索布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="search"
android:textSize="16dp"
android:textColor="#ffad8745"/>
<EditText
android:id="@+id/editText"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
android:background="#ffad8745"/>
</LinearLayout>
我的期望是第一项和第三项显示图标,而第二项显示我定义的布局,但这就是我得到的:只有我在 menu_main.xml 中定义的标题。
我最终制作了一个我想要的动作栏,但我仍然不明白为什么最初尝试的方式不起作用。请帮帮我。谢谢你
解决方案
推荐阅读
- php - 如何在 PHPWord 中对文本框应用无填充
- mysql - 当我在(子查询)中使用“WHERE user_id”时生成语法错误
- angular - 对于大型团队和项目,在 Angular 中分离延迟加载的功能模块的最佳方法是什么?
- firebase - 无法从 Firestore 数据库中获取数据
- javascript - Vue.js 选择多个值
- tensorflow - 批处理、重复和随机播放对 TensorFlow 数据集有什么作用?
- linux - 在bash中捕获没有换行符的程序输出
- android - Firebase 动态链接不跟踪应用安装
- cmd - 在 CMD 中重命名多个文件名
- junit - mock.method 调用在存根后返回 null