And*_*per 3 android android-widget searchview
如何删除在SearchView小部件中显示为提示的默认搜索图标(不在操作栏中)?通过样式我可以更改图标但我找不到删除它的方法?

小智 10
它的工作......
ImageView searchViewIcon = (ImageView)searchView.findViewById(android.support.v7.appcompat.R.id.search_mag_icon);
ViewGroup linearLayoutSearchView =(ViewGroup) searchViewIcon.getParent();
linearLayoutSearchView.removeView(searchViewIcon);
Run Code Online (Sandbox Code Playgroud)
For me it only worked this:
ImageView magImage = (ImageView) searchView.findViewById(android.support.v7.appcompat.R.id.search_mag_icon);
magImage.setVisibility(View.GONE);
magImage.setImageDrawable(null);
Run Code Online (Sandbox Code Playgroud)
@sector11几乎明白了,但你仍然需要添加这一行,magImage.setImageDrawable(null)因为SearchView.java在 Github 中查看,特别是方法updateViewsVisibility,你可以看到它不断更新其可见性
摘自 GitHub
if (mCollapsedIcon.getDrawable() == null || mIconifiedByDefault) {
iconVisibility = GONE;
} else {
iconVisibility = VISIBLE;
}
mCollapsedIcon.setVisibility(iconVisibility);
Run Code Online (Sandbox Code Playgroud)
你可以覆盖它:
int searchImgId = context.getResources().getIdentifier("android:id/search_mag_icon", null, null);
ImageView searchImage = (ImageView) searchView.findViewById(searchImgId);
searchImage.setVisibility(View.GONE);
Run Code Online (Sandbox Code Playgroud)
如果您的搜索视图位于布局中,请使用带关闭按钮的 EditText:
如果您想创建自己的,请使用框架布局并添加文本更改侦听器来管理关闭或取消按钮的可见性。
关于 UI 中的搜索视图的讨论很少:
如果您想显示搜索列表,请使用 AutoCompleteTextView 而不是 EditText。
您可以从下面的链接阅读教程:
我希望它会起作用。
| 归档时间: |
|
| 查看次数: |
9960 次 |
| 最近记录: |