Centre SearchView en la barra de acciones
¿Cómo puedo centrar un ActionView (un SearchView en particular) dentro de una barra de acción?
Como se ve en la aplicación Google Libros:
- La vista de búsqueda no responde cuando se hace clic en la barra de herramientas de AppCompat
- Barra de Acción Sherlock SearchView no se expande al hacer clic
- ¿Cómo detectar si SearchView se expande?
- Vista de búsqueda en LinearLayout usando android.support.v7.widget.SearchView
- Cómo descartar el teclado en Android SearchView?
Aplicación de Google Libros SearchView http://i46.tinypic.com/2z909is.png
Mi configuración de diseño actual ( search_layout.xml
) :
<?xml version="1.0" encoding="utf-8"?> <SearchView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:queryHint="@string/search_hint" />
Mi archivo XML de la barra de acciones ( menu.xml
) :
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:icon="@+android:drawable/ic_menu_search" android:title="@string/search" android:showAsAction="always|collapseActionView" android:id="@+id/searchMenuItem" android:actionLayout="@layout/search_layout" /> </menu>
¿Hay una manera de imitar el comportamiento del SearchView de los libros?
- Android Searchview OnQueryTextListener con base de datos no funciona
- Cómo utilizar SearchView en la barra de herramientas de Android
- vista de búsqueda no expandir todo el ancho
- Android searchview setOnActionExpandListener en Honeycomb 3.2
- Android ActionBar: plegable SearchView con botón de acción
- El botón de la barra de acciones no se muestra en la vista de búsqueda de Android
- Estilizar la vista de búsqueda de android y la lista desplegable en la barra de acciones
- Creación de un SearchView que se parezca a las directrices de diseño del material
Una View
centrada en la ActionBar
no se puede lograr con Action Items
en un xml menu
, por lo que puedo decir. Sin embargo, puede implementarse estableciendo un diseño personalizado en ActionBar
. Un ejemplo básico:
Una Activity
:
public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ActionBar actionBar = getActionBar(); actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); actionBar.setDisplayShowHomeEnabled(true); actionBar.setCustomView(R.layout.actionbar_layout); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
Donde actionbar_layout
es:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <SearchView android:id="@+id/mySearchView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:iconifiedByDefault="false" /> </RelativeLayout>
Crea esto en una tableta de 7 '':
Tenga en cuenta el atributo iconifiedByDefault
establecido en false
en SearchView
que obliga a que aparezca ampliado y no sólo como un icono. Esto puede requerir que se oculte el software de forma programática o que se abra de forma abierta cuando se inicie la Actividad.
Echa un vistazo aquí . Sólo puedes usar el atributo android: actionViewClass = "android.widget.SearchView", y eso debería funcionar bien (ten en cuenta que puedes obtener una referencia a la searchView en Java y cambiar la pista allí si eso es lo que quieres ).
- AdMob no mostrará el banner hasta que se actualice o se conecte a google plus
- Android – Detección de funciones de cara