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
- Problema de enfoque con múltiples EditTexts
- El teclado androide no aparece en el enfoque de llamada en el campo de texto sencha
- Editado Android enfoque automático
- EditText, foco claro en el tacto afuera
- Los elementos secundarios ExpandableListView no obtienen el enfoque cuando se tocan
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.
- Android: Force EditText para eliminar el enfoque?
- Cómo borrar el enfoque de todos los elementos seleccionables en una vista?
- Toque fuera de edittext para perder el foco
- Mover Android Edittext un poco hacia arriba cuando se centran en él
- Desplazamiento en Horizontal ScrollView pierde el foco del elemento enfocado,
- EditText: Evita concentrarte en setText ()
- Establecer el área de enfoque de la cámara en Android
- Mostrar el teclado 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 } } } } }