SearchView quita la línea de enfoque azul y muestra el cursor en determinada posición

He estado intentando quitar la línea azul del foco en el SearchView. Estoy lanzándolo a un AutoCompleteTextView de modo que pueda utilizar iconos modificados para requisitos particulares para mi searchView.

int id = searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null); searchtextView = (AutoCompleteTextView) searchView.findViewById(id); 

He intentado usar

 searchtextView.setBackGroundColor(0) 

Y ajustar manualmente el fondo a # 0000000 en mi xml pero todavía puedo seee la línea azul en la parte inferior.

El segundo problema al que me enfrento es que el cursor no aparece inicialmente en el texto. Quiero mostrar el cursor cuando no se ingresa nada en la vista de búsqueda. He intentado hacerlo mediante programación usando

 if (searchtextView.getText().toString().length() >= 0) { searchtextView.setSelection(searchtextView.getText().toString().length()); } 

Que debe mostrar el cursor incluso cuando no exista ningún texto dentro de la búsqueda. Creo que tiene algo que ver con el enfoque porque cuando escribo en 2-3 caracteres el cursor aparece automáticamente.

Pude resolverlo estableciendo el fondo de la placa de búsqueda por defecto como sigue

 int searchPlateId = searchView.getContext().getResources() .getIdentifier("android:id/search_plate", null, null); View searchPlateView = searchView.findViewById(searchPlateId); if (searchPlateView != null) { searchPlateView.setBackgroundColor(Color.BLACK); } 

Este artículo ayudó. Enlace del artículo

Puedes usar

 android:queryBackground="@android:color/transparent" 

Fui capaz de hacer que funcione clearingfocus en el texto de búsqueda de edición durante la función de creación de menú. Código abajo:

 @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); ... final MenuItem searchItem = menu.findItem(R.id.action_search); if (searchItem != null) { // Associate searchable configuration with the SearchView SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); final SearchView view = (SearchView) searchItem.getActionView(); if(view !=null){ LinearLayout searchPlate = (LinearLayout)mSearchView.findViewById(R.id.search_plate); if(searchPlate != null){ mSearchEditText = (EditText)searchPlate.findViewById(R.id.search_src_text); if(mSearchEditText != null){ mSearchEditText.clearFocus(); // This fixes the keyboard from popping up each time } } } } } 
  • EditText pierde foco cuando aparece el teclado; Requiere tocar dos veces para editar
  • Eliminación del indicador de foco de RecycleView en Android
  • foco perdido después de notifyDataSetChanged ()
  • Android: EditText no puede obtener el foco después de volver a habilitarse
  • Cambiar el enfoque a EditarTexto Android
  • Eclipse editText eliminar el foco (cursor) cuando se hace presionado
  • Cómo forzar el enfoque para editar el texto
  • Cómo hacer edittext autofocus después de mostrar un brindis?
  • Multiple EditText - especifica la ubicación del cursor
  • Comportamiento extraño con selectAllOnFocus cuando EditText está en ListView
  • OnFocusChange no siempre funciona
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.