Domanda

In Android è possibile impostare un elenco di navigazione in Azione Barrando l'adattatore di spinner e onnavigationListener.Il problema è che l'elenco di navigazione non riempie la maggior parte della barra delle azioni, come farlo espandersi come l'app Gmail: Esempio di app Gmail:

Inserisci Descrizione dell'immagine qui

La mia app:

Inserisci Descrizione dell'immagine qui

Ed Ecco il codice:

//... 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);
.

Altri problemi che affronto è la dimensione dell'articolo dello spinner, si presentano davvero piccole, è così perché non passerò su misura TextView (guarda lo screenshot)?Esempio di quello che faccio:

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;
    }

}
.

È stato utile?

Soluzione

Si desidera implementare getDropDownView anche il metodo.Ciò consente di fornire una visione diversa per l'elenco a discesa con le metriche e la formattazione desiderata.

Considerare il gonfiaggio dei layout quadro android.R.layout.simple_spinner_item e android.R.layout.simple_spinner_dropdown_item per queste situazioni.Utilizzare findViewById(android.R.id.text1) per ottenere il TextView che si dovrebbe compilare in ciascuno.

Altri suggerimenti

Forse è possibile utilizzare ActionBar Tab Navigation e aggiungi icone alle schede anziché alla navigazione dell'elenco poiché la navigazione di Gmail sembra più simile alla navigazione delle schede.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top