Como expandir lista de navegação na barra de ação?
-
12-11-2019 - |
Pergunta
No android, você pode definir uma lista de navegação na barra de ação, passando adaptador giratório e OnNavigationListener.o problema é que a lista de navegação de não preencher a maior parte da barra de ação, como fazer com que ela se expanda como o aplicativo do gmail :Exemplo de aplicativo do Gmail :
Meu aplicativo:
E aqui está o 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);
Outro problema que enfrentamos é o tamanho do spinner item, eles mostram-se muito pequeno, porque é que eu não passar personalizado textview (olhe a imagem)?exemplo do que eu faço :
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;
}
}
Solução
Você deseja implementar o getDropDownView
o método também.Isso permite que você fornecer uma visão diferente para a lista suspensa com as métricas e a formatação que você deseja.
Considerar a inflação do quadro de layouts android.R.layout.simple_spinner_item
e android.R.layout.simple_spinner_dropdown_item
para estas situações.Utilização findViewById(android.R.id.text1)
para obter o TextView
você deve preencher em cada um.
Outras dicas
Talvez você pode usar ActionBar guia de navegação e adicionar ícones para as abas, ao invés de incluir a lista de navegação, desde o gmail navegação mais parece guias de navegação.