2012-01-22 14 views
9

En Android puede establecer una lista de navegación en la barra de acciones pasando el adaptador de giro y OnNavigationListener. el problema es que la lista de navegación dont llenar la mayor parte de la barra de acción, cómo hacer que se expanda al igual que la aplicación de Gmail: Ejemplo de aplicación Gmail:¿Cómo expandir la lista de navegación en la barra de acciones?

enter image description here

Mi aplicación:

enter image description here

Y aquí está el código:

//... setting the array adapter 
ActionBar actionBar = getActionBar(); 
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); 
NavigationListener navigationListener = new NavigationListener(); 
ListAdapter listAdapter = new ListAdapter(); 
actionBar.setListNavigationCallbacks(listAdapter, navigationListener); 
actionBar.setDisplayShowTitleEnabled(false); 

Otro problema que enfrentan es el tamaño de el ítem giratorio, se muestran realmente pequeños, ¿es porque no paso la vista de texto personalizada (mira la captura de pantalla)? ejemplo de lo que hago:

private class ListAdapter extends BaseAdapter implements SpinnerAdapter { 

    public View getView(int pos, View view, ViewGroup viewGroup) { 
     TextView text = new TextView(context); 
     text.setText(arrayAdapter.getItem(pos).toString()); 
     return text; 
    } 

} 

Respuesta

11

Usted desea implementar el método getDropDownView también. Esto le permite suministrar una vista diferente para la lista desplegable con las métricas y el formato que desee.

Considere inflar los diseños de marco android.R.layout.simple_spinner_item y android.R.layout.simple_spinner_dropdown_item para estas situaciones. Use findViewById(android.R.id.text1) para obtener el TextView que debe completar en cada uno.

+0

+1, gracias por el enlace getDropDownView – orip

-1

Tal vez pueda usar ActionBar tab navigation y agregar iconos a las pestañas en lugar de la navegación de lista ya que la navegación de gmail se parece más a la navegación de pestañas.

Cuestiones relacionadas