Diseño de Android con barra de acciones y pestañas
Soy nuevo en Android y necesito su consejo. Me gustaría tener una actividad con barra de acción, necesito también pestañas (pero no pestañas en barra de acciones) y desplegable en la barra de acción para navegar. Cuando hago clic en, por ejemplo, la primera pestaña, la lista de navegación en la barra de acción debe estar llena de datos, cuando la pestaña de segundos, la lista de navegación debe llenarse con otros datos y etc., los elementos de acción también deben cambiarse cuando se cambia la pestaña. Cuando selecciono algún elemento de la lista de navegación en la barra de acción, la vista debe actualizarse. No estoy seguro de cómo hacerlo.
Utilizo ActionBarSherlock para la barra de acción, y ya tengo tabs usando TabHost y TabWidget con fragmentos, cuando hago clic en la pestaña, entonces el fragmento se cambia, pero esto no es exactamente lo que quiero, y no tengo ni idea de qué hacer a continuación. ¿Usted me podría ayudar?
- Barra de Acción Sherlock con botones
- Comunicarse entre diferentes instancias del mismo fragmento
- No se puede utilizar las pestañas con Sherlock
- Crash en MediaController.show ()
- VERY Basicbandsherlock tabs con fragmentos: FragmentTransaction es nulo en el método onTabSelected ()
Aquí está una pantalla:
Cuando hago clic en la pestaña 1, la lista de navegación en la barra de acción debe ser Tab1 List1, Tab1 List2 etc. y se debe mostrar la primera vez la vista predeterminada de la lista (por ejemplo, primera Tab1 List1) o la última seleccionada por el usuario desde la vista Lista de navegación. Cuando hago clic en la pestaña 2, la lista debe ser Tab2 List1, Tab2 List2 etc. y debe mostrarse por ejemplo Tab2 List2 view. Etc Así que cada ficha ajustar la barra de acción.
- Android 5.0 tablas de diseño de materiales
- Cardview dentro de la pestaña
- Agregue los iconos al adaptador de las lengüetas que extiende FragmentPagerAdapter
- Actionbarsherlock + tabs + multi fragmentos?
- Android: dos actividades, una pestaña
- Cómo llamar a un método en otra actividad
- Contenido de la barra ActionBar que se superpone
- Cómo cambiar el estilo de pestaña en Android?
Tiene dos opciones:
- Utilice la navegación de lista en la barra de acción y coloque un
TabWidget
en la parte superior de su vista de contenido. - Utilice la pestaña de pestañas en la barra de acciones y configure una vista personalizada con un
Spinner
Tenga cuidado de no sobrecargar a sus usuarios. Normalmente dos tipos de navegación pueden ser confusos.
Para los elementos de acción, si está utilizando fragmentos para sus diferentes "pantallas", puede registrarse para suministrar elementos de acción con setHasOptionsMenu(true);
Y definir sus acciones por sobreescribir onCreateOptionsMenu(Menu menu, MenuInflater inflater)
. Por lo tanto, una buena regla de diseño, si no se puede explicar simplemente, probablemente está haciendo algo mal y debe cambiar el diseño.
También puede ser un uso indebido del diseño de Android divergir demasiado lejos del patrón de barras de acción, lo que significa que tienes algo que se parece a un ActionBar con la navegación, pero realmente tienes algo más que te has inventado. Si esto es necesario, entonces no deberías hacer algo que parezca una barra de acción con navegación, porque los usuarios esperarán cierto comportamiento y obtendrán una respuesta diferente (confusión).
Finalmente, con lo que usted describe, parece que las pestañas manejan la navegación de lista, sin embargo, la navegación de lista tiene precedencia visual (está arriba y esencialmente contiene las pestañas). Por lo tanto, si las pestañas son consistentes a través de selecciones de la lista de navegación, pero la lista cambia en función de las selecciones de la pestaña de la pestaña, se representa más clara al tener las pestañas con precedencia visual sobre la lista de navegación. Así que, si mantienes la navegación, revocaré su orden. Tal vez trate de navegación de lista con un buscapersonas en lugar de la lista de navegación. Jake tiene una gran biblioteca para el paginador de la visión también http://viewpagerindicator.com/
Alcanzé esto Setting the tab navigation in action bar
y Setting Spinner in Menu for navigation list
. Yo explicaría la segunda parte, ya que la primera es trivial.
Definir Spinner
en action_bar.xml
:
<item android:id="@+id/menu_test_spinner" android:actionViewClass="android.widget.Spinner" android:showAsAction="always"/>
Configurar y enlazar datos en Spinner
en la actividad:
@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.action_bar, menu); MenuItem testSpinner = menu.findItem( R.id.menu_test_spinner ); setupTestSpinner(testSpinner); return true; } private void setupTestSpinner(MenuItem item) { View view = item.getActionView(); if (view instanceof Spinner) { Spinner spinner = (Spinner) view; spinner.setAdapter(ArrayAdapter.createFromResource(this, R.array.test, android.R.layout.simple_spinner_dropdown_item)); spinner.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) { //Do something on item selection } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); } }
Ahora, anule el método que respondería a los cambios de tabulación y cambie los elementos de la lista de navegación en Spinner.