Barra de acciones de Android con la vista de búsqueda

Quiero hacer una barra de acción que se parece a esto:

Barra de acciones

Y no soy capaz de hacer esto.

Intenté usar ese colapso descrito aquí , pero no es exactamente lo que quiero.

  • En primer lugar SearchView no es visible hasta que el usuario presione el icono de búsqueda .. pero quiero que sea visible inmediatamente después de la actividad se inicia.
  • En segundo lugar, después de que SearchView aparezca todos los demás iconos de acción desaparecen. Pero quiero que sean visibles todo el tiempo.
  • Y funciona sólo para Android 3 y superior, lo quiero para Android 2 y superior, por lo que estoy usando ActionBarSherlock.

Por ejemplo barra de acción en google maps se parece a lo que quiero.

¿Puede alguien aconsejarme cómo lograr esto?

ActionbarSherlock es una gran biblioteca. La versión más reciente (4.2.0) tiene el método para que la vista de búsqueda sea visible cuando se inicia la actividad SearchView.setIconified (boolean);

Por lo tanto, si desea que su vista de búsqueda esté siempre visible, utilice el código siguiente:

 @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { //Create the search view SearchView searchView = new SearchView(getSherlockActivity().getSupportActionBar().getThemedContext()); searchView.setQueryHint("Search for countries…"); searchView.setIconified(false); menu.add("Search") .setIcon(R.drawable.abs__ic_search) .setActionView(searchView) .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); } 

Si está utilizando actionbarsherlock debe hacer smth como este

  @Override public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) { menu.add(0, 1, 1, R.string.ac_refresh ).setIcon(R.drawable.ic_navigation_refresh).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); menu.add(0, 2, 2, R.string.ac_settings).setIcon(R.drawable.ic_action_settings).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); menu.add(0, 3, 3, R.string.ac_favourite).setIcon(isFavouriteChannel(channel) ? R.drawable.ic_rating_important : R.drawable.ic_rating_not_important).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); menu.add(0, 4, 4, R.string.ac_search ).setIcon(R.drawable.ic_action_search).setActionView(R.layout.action_search) .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW); return super.onCreateOptionsMenu(menu); } 

Eche un vistazo a setActionView (R.layout.action_search) – esta es su vista de texto en el archivo xml. Si desea que sus otros iconos de acción apeear siempre debe utilizar MenuItem.SHOW_AS_ACTION_ALWAYS

  • Android: Cambiar la visibilidad de los elementos del menú con un fragmento cambiante
  • DrawerLayout y ActionBarDrawerToggle no se pueden resolver con un tipo
  • Parámetros de diseño de Actionbarsherlock (alinee NAVIGATION_MODE_TABS en la parte inferior)
  • Cómo importar ejemplos de Actionbarsherlock en eclips y usarlos
  • ActionBarSherlock: getSupportMenuInflator () no está definido
  • No se puede importar el proyecto de Android en Eclipse - El botón Finalizar no hace nada
  • ActionbarSherlock SearchView en menu.xml da recursos $ NotFoundException
  • ActionBarSherlock: no se puede resolver el tipo android.support.v4.app.Fragment. Se hace referencia indirectamente a los archivos .class requeridos
  • Volver Flecha en la barra de acción Sherlock no se muestra
  • ¿Cómo puedo cambiar el estilo de fuente en ActionBarSherlock
  • SwipeyTabs - cómo crear pestañas de Swipey usando la biblioteca de ActionBarSherlock?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.