1

是否可以将 searchview 小部件定制为在小部件内添加按钮?

添加android:voiceSearchMode="showVoiceSearchButton|launchRecognizer"到可搜索的配置文件时,会出现一个麦克风。但我想在视图中添加一个附加(我自己的)按钮以打开一个对话框。

有可能吗,有人能指出我正确的方向吗?

我的目标是 4.0 及更高版本

4

2 回答 2

2

到我的回答之日,这个问题大约 1 岁。但是,如果有人正在寻找这样的东西:

int parentLayoutId = getResources().getIdentifier("android:id/search_plate", null, null);
LinearLayout parent = (LinearLayout) mSearchView.findViewById(parentLayoutId);

search_plate是关闭按钮和语音搜索的布局持有者。然后将您想要的所有视图添加到LinearLayout.

于 2014-04-17T00:27:33.477 回答
0

由于私有 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);

于 2016-06-23T11:10:50.187 回答