Android – Actionbar Sherlock – Filtro de búsqueda

Introduzca aquí la descripción de la imagen

Estoy intentando implementar la Barra de Acción usando ActionBar Sherlock. Tengo tres botones de acción uno de los cuales es un botón de búsqueda. Al hacer clic en el botón de búsqueda, se mostrará el campo de entrada de búsqueda que ya he implementado. Pero quiero que tome todo el ancho de la barra de acción. Cualquier idea de cómo puedo lograr lo mismo.

Primero haga un editTextLayout

Layout_search.xml

<?xml version="1.0" encoding="utf-8"?> <EditText xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/search_edit_text" android:cursorVisible="true" android:hint="@string/search_friend_hint" android:imeOptions="actionDone" android:inputType="text" android:textColor="@android:color/black" android:textCursorDrawable="@android:color/black" /> 

En su menú xml add android:actionLayout y android:showAsAction="always|collapseActionView" para la opción de búsqueda. Para otra opción make android:showAsAction="ifRoom"

Menu.xml

 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:icon="@drawable/ic_action_sort" android:orderInCategory="1" android:showAsAction="ifRoom" android:title="@string/menu_sort"/> <item android:id="@+id/menu_search" android:actionLayout="@layout/layout_search" android:icon="@drawable/search" android:orderInCategory="0" android:showAsAction="always|collapseActionView" android:title="@string/search"/> </menu> 

En su actividad o fragmento sobreescribir onCreateOptionsMenu como este fragmento.java

 @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); inflater.inflate(R.menu.menu, menu); final EditText editText = (EditText) menu.findItem( R.id.menu_search).getActionView(); editText.addTextChangedListener(textWatcher); MenuItem menuItem = menu.findItem(R.id.menu_search); menuItem.setOnActionExpandListener(new OnActionExpandListener() { @Override public boolean onMenuItemActionCollapse(MenuItem item) { // Do something when collapsed return true; // Return true to collapse action view } @Override public boolean onMenuItemActionExpand(MenuItem item) { editText.clearFocus(); return true; // Return true to expand action view } }); } 

Y agregue textWatcherListener

 private TextWatcher textWatcher = new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (null != mAdapter) { mAdapter.getFilter().filter(s); } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub } }; 
  • El widget de búsqueda no está funcionando en el release apk
  • Android ActionBar Personalizar Buscar Ver
  • SearchView en AppCompat distorsiona el icono
  • Biblioteca de soporte de Android 24.0.0 no muestra texto en SearchView
  • SearchView con múltiples fragmentos usando viewpager en android
  • Filtro de búsquedaVer ListView
  • Mejores Prácticas para el Manejo de la Búsqueda
  • Quitar icono de la vista de búsqueda del texto de la pista
  • Android ActionBar: plegable SearchView con botón de acción
  • Cómo utilizar onQueryTextChange con muchos fragmentos
  • ¿Hay algún oyente en Android SearchView para notificar si SearchView está expandido y listo para tomar entrada?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.