所以根据developer.android documents,这就是在ActionBar中包含SearchView的方式:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
<item android:id="@+id/action_search"
android:title="@string/action_search"
android:icon="@drawable/ic_action_search"
yourapp:showAsAction="ifRoom|collapseActionView"
yourapp:actionViewClass="android.support.v7.widget.SearchView" />
</menu>
官方指南仅涵盖支持库中的SearchView,而不是Android Framework中的SearchView。
但是,我确信我的用户拥有Android 4+设备,因此我想使用SearchView而不将支持库添加到我的应用中。
我应该对ActionBar XML菜单布局做出哪些更改?
在没有支持库的情况下,我在SearchView上找不到任何其他教程。
答案 0 :(得分:1)
来自 SearchView 的文档:
注意:此类包含在支持库中,以便与API级别7及更高版本兼容。如果您仅为API级别11及更高版本开发应用程序,则应使用框架SearchView类。
它基本上意味着你使用android.widget包中的SearchView类,并在manifest或build.gradle中将minSdkVersion设置为11。
根据我刚刚删除了* yourapp **命名空间的评论更新。这应该可行:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/action_search"
android:title="@string/action_search"
android:icon="@drawable/ic_action_search"
android:showAsAction="ifRoom|collapseActionView"
android:actionViewClass="android.widget.SearchView" />
</menu>
您可以访问this SO帖子以获取更多信息。