android – 在ActionBar中使用support-v7-appcompat的SearchView

我一直在努力让SearchView小部件在actionbar中使用support-v7库进行扩展.我设法使其工作没有支持库,当我目标4.0,但我想要编写2.3的应用程序,所以我需要使用支持库.
我使用以下menu.xml创建了一个空白的新活动:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto" >

<item
    android:id="@+id/action_settings"
    android:orderInCategory="100"
    android:showAsAction="never"
    android:title="@string/action_settings"/>

<item
    android:id="@+id/action_search"
    android:icon="@android:drawable/ic_menu_search"
    yourapp:showAsAction="always"
    yourapp:actionViewClass="android.support.v7.widget.SearchView"
    android:title="Search"/>
</menu>

这甚至不显示搜索按钮,更不用说在点击时展开它.它只是将搜索添加菜单中,而不是在操作栏中显示.

或者,我尝试相同没有appcompat库,我只是替换menu.xml与:

<item
    android:id="@+id/action_search"
    android:icon="@android:drawable/ic_menu_search"
    android:showAsAction="always"
    android:actionViewClass="android.widget.SearchView"
    android:title="Search"/>

它工作完美,甚至在点击时扩展到搜索文本输入小部件.

在使用appcompat库时,我希望第二张照片中的搜索视图可用,但由于某些原因,它似乎没有起作用.我正在使用eclipse,我已经在支持库中包含完全符合Support Library Setup[developer.android.com]规定的资源.

我的清单文件的minsdk版本为7,targetsdk版本为18,构建目标也为18.

我怀疑在支持库设置中有什么不好,有人可以告诉我我可能做错了什么?谢谢!

解决方法

可能SearchView没有显示,因为您错过了在此行中添加一个collapseActionView:yourapp:showAsAction =“always”.

此外,您的活动必须扩展AppCompatActivity.所以,添加AppCompat库到项目

更多细节您可以阅读这个link

希望会帮助你.

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...