是否可以将 searchview 小部件定制为在小部件内添加按钮?
添加android:voiceSearchMode="showVoiceSearchButton|launchRecognizer"
到可搜索的配置文件时,会出现一个麦克风。但我想在视图中添加一个附加(我自己的)按钮以打开一个对话框。
有可能吗,有人能指出我正确的方向吗?
我的目标是 4.0 及更高版本
是否可以将 searchview 小部件定制为在小部件内添加按钮?
添加android:voiceSearchMode="showVoiceSearchButton|launchRecognizer"
到可搜索的配置文件时,会出现一个麦克风。但我想在视图中添加一个附加(我自己的)按钮以打开一个对话框。
有可能吗,有人能指出我正确的方向吗?
我的目标是 4.0 及更高版本
到我的回答之日,这个问题大约 1 岁。但是,如果有人正在寻找这样的东西:
int parentLayoutId = getResources().getIdentifier("android:id/search_plate", null, null);
LinearLayout parent = (LinearLayout) mSearchView.findViewById(parentLayoutId);
search_plate
是关闭按钮和语音搜索的布局持有者。然后将您想要的所有视图添加到LinearLayout
.
由于私有 SearchView 类方法正在设置 submit_area Visibility.Gone,所以我们对此无能为力。
一个快速的肮脏技巧是启用默认按钮,然后将其宽度和高度设置为 0。设置可见性不起作用,因此必须设置高度/宽度。
我启用了搜索按钮,然后将其高度/宽度设置为零。
int submit_areaId = searchView.getContext().getResources().getIdentifier("android:id/submit_area", null, null);
ImageView submitImage = (ImageView) searchView.findViewById(search_go_btnId);
searchView.setSubmitButtonEnabled(true);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(0, 0);
submitImage.setLayoutParams(layoutParams);