2015-04-01 3 views
2

Благодаря другим SO связанных сообщений о SearchView настройки я был в состоянии настроить мой SearchView в данный момент:Удалить кнопку поиска SearchView голос линии

enter image description here

Теперь я пытаюсь добавить голосовой поиск, и я был возможность изменения голосовой кнопки фон ресурса:

int searchVoiceIconId = searchPlate.getContext().getResources().getIdentifier("android:id/search_voice_btn", null, null); 
ImageView searchVoiceIcon = (ImageView) searchView.findViewById(searchVoiceIconId); 
searchVoiceIcon.setImageResource(R.drawable.ic_action_mic); 
searchVoiceIcon.setBackgroundColor(Color.TRANSPARENT); 

Однако, я не могу избавиться от линии под кнопкой голосового поиска.

enter image description here

любые предложения ????

Благодаря

ответ

1

Код:

((LinearLayout)search.findViewById(R.id.search_voice_btn).getParent()).setBackgroundColor(Color.TRANSPARENT); 
+0

Я получаю исключение: 04-27 10: 13: 15.740: E/AndroidRuntime (16189): вызвано: java.lang.NullPointerException: попытка вызвать виртуальный метод android.view.ViewParent android.view. View.getParent() 'для ссылки на нулевой объект –

0
int submitAreaId = searchView.getContext().getResources() 
       .getIdentifier("android:id/submit_area", null, null); 
View submitAreaView = searchView.findViewById(submitAreaId); 
if (submitAreaView != null) { 
    submitAreaView.setBackgroundColor(Color.parseColor("#00000000")); 
} 

Это должно устранить любое подчеркивание входной области, не текст.

0

Это поздний ответ, но это может быть полезно для будущего.

Добавьте следующую строку:

<style name="AppTheme.SearchView" parent="Widget.AppCompat.SearchView"> 
    <!-- Gets rid of the "underline" in the mic button--> 
    <item name="submitBackground">@null</item> 

К вашему значению/файл styles.xml и удалить строку.

Смежные вопросы