如何使用SearchView小部件“不”支持v.7库

时间:2014-09-03 06:47:58

标签: android android-actionbar android-ui searchview

所以根据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上找不到任何其他教程。

1 个答案:

答案 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帖子以获取更多信息。