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);
没有理解为什么它仍然显示图标。
答案 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"
/>