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"
这样应该就能显示搜索按钮和加号了。