【问题标题】:How to add SearchView to action bar in android如何将 SearchView 添加到 android 中的操作栏
【发布时间】:2014-11-26 23:21:00
【问题描述】:

在下面的sn-p中,yourapp指的是什么?我尝试使用包名称,然后是项目名称,但它们不是答案,因为代码无法编译

<?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>

【问题讨论】:

标签: android android-layout android-actionbar searchview actionview


【解决方案1】:

如果你打算在小于 11 的 API 中使用 SearchView(显然你不是),你必须从 ActionBarCompat 扩展你的活动,并且在你的菜单的 xml 布局中你必须为 @987654324 使用另一个 xml 命名空间@ 和 actionViewClass。那么你必须使用支持库中的 searchview。(android.support.v7.widget.SearchView) xml 命名空间是任意的,在这里你称之为yourapp。所以你必须使用下面的代码因为android:minSdkVersion="11"

<?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>

【讨论】: