2013-04-27 3 views
1

Можно ли разрезать виджет поиска, чтобы добавить кнопку внутри виджета?Пользовательские кнопки в виджетах поиска (на панели действий)

При добавлении android:voiceSearchMode="showVoiceSearchButton|launchRecognizer" в файл конфигурации, доступный для поиска, появляется микрофон .. но я хотел бы добавить дополнительную (мою собственную) кнопку в представлении, чтобы открыть диалог.

Возможно ли и может кто-нибудь указать мне в правильном направлении?

Я нацеливание 4.0 и выше

ответ

2

на вопрос составляет около 1 года до даты моего ответа. Но если кто-то ищет такую ​​вещь:

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

search_plate является держателем расположение кнопки закрытия и голосового поиска. Затем добавьте все виды, которые вы хотите на LinearLayout.

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 = новый LinearLayout.LayoutParams (0, 0);

submitImage.setLayoutParams (layoutParams);