ActionBar关于search搜索按钮的显示问题

1. 搜索框按钮怎么点击都没反应,不出现搜索框
<item
android:id="@+id/action_search"
android:icon="@mipmap/actionbar_search_icon"
android:actionViewClass="android.support.v7.widget.SearchView"
android:title="@string/action_search"
app:showAsAction="ifRoom|collapseActionView"
/>

由于MainActivity继承的是AppCompatActivity,所以需要将
android:actionViewClass = "android.support.v7.widget.SearchView"
改为:
app:actionViewClass="android.support.v7.widget.SearchView"
而且support.v7不可少。

2.MainActivity extends FragmentActivity或Activity
问题①:搜索框按钮不出现
修改为:
<item
        android:id="@+id/action_search"
        android:icon="@mipmap/actionbar_search_icon"
        android:actionViewClass="android.widget.SearchView"
        android:title="@string/action_search"
        tools:ignore="AppCompatResource"
        android:showAsAction="ifRoom|collapseActionView"
        />
注意:app:showAction要改为android:showAction,而且要添加tools:ignore="AppCompatResource",要忽略掉AppCompat Library,同时android:actionViewClass中的support.v7去掉
②:overflow Button图标无法改为自定义的图标(比如说加号)
修改styles.xml文件,将parent="Theme.AppCompat.Light.DarkActionBar"改为
parent="android:Theme.Holo.Light.DarkActionBar"

我觉得以上出现的原因应该都与继承的Activity类型和library有关:
①如果继承的是 AppCompatActivity,相应的要改为app:showAsAction,要加support.v7,styles要改为 parent="Theme.AppCompat.Light.DarkActionBar"

②如果继承的是Activity,相应的要改为android:showAsAction,并且要添加 tools:ignore="AppCompatResource",忽略掉AppCompat Library,否则无法修改成android,
styles要改为 parent="android:Theme.Holo.Light.DarkActionBar"

这样应该就能显示搜索按钮和加号了。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值