想要从searchView中删除搜索图标作为提示

时间:2015-10-21 06:47:55

标签: android searchview

    int magId = getResources().getIdentifier("android:id/search_mag_icon", null, null);
    ImageView magImage = (ImageView) mSearchView.findViewById(magId);
    magImage.setLayoutParams(new LinearLayout.LayoutParams(0, 0));
    magImage.setVisibility(View.GONE);

我正在使用上面的代码,但它没有删除search图标。我已经设置了

 mSearchView.setIconified(false); 

没有理解为什么它仍然显示图标。

3 个答案:

答案 0 :(得分:3)

我知道这已经很晚了,但如果有其他人想要解决这个问题,那么

1)在style.xml中添加

<style name="MyToolbar" parent="AppTheme">
    <item name="searchViewStyle">@style/searchStyle</item>
</style>

如果您的最低API级别&gt; = 21

<style name="searchStyle" parent="Widget.AppCompat.SearchView.ActionBar">
    <item name="android:queryHint">@string/search</item>
    <item name="android:searchIcon">@null</item>  
</style>

否则

<style name="searchStyle" parent="Widget.AppCompat.SearchView.ActionBar">
    <item name="queryHint">@string/search</item>
    <item name="searchIcon">@null</item>
</style>

2)最后在工具栏中添加你的风格

<android.support.v7.widget.Toolbar
        android:id="@+id/my_toolbar"
        app:theme="@style/MyToolbar"
        />

答案 1 :(得分:1)

如果您使用appcompat-v7&gt; 24,你应该试试这个

<style name="AppTheme.SearchView" parent="Widget.AppCompat.SearchView">
    <item name="searchHintIcon">@null</item>
    <item name="searchIcon">@null</item>
    <item name="queryBackground">@android:color/transparent</item>
</style>

答案 2 :(得分:0)

这对我有用:

<android.support.v7.widget.SearchView
                ...
                app:iconifiedByDefault="false"
                app:searchIcon="@null"
                />