Sto tentando di consentire all'utente di aprire/chiudere il riquadro di navigazione nella mia app toccando il titolo della barra delle azioni (ecco come è configurata l'attuale app Gmail per Android). Al momento, l'utente può attivare o disattivare il cassetto toccando l'icona app/cassetto o facendolo scorrere con un passaggio sinistro-destro. Tuttavia, il titolo della barra delle azioni non è selezionabile. Secondo lo developer docs, fare clic sul titolo della barra di azione deve "inviare onOptionsItemSelected
all'attività dell'ospite con un oggetto Menu con ID articolo android.R.id.home
" quando si utilizza NAVIGATION_MODE_STANDARD
ma per qualche motivo non riesco a ottenere il titolo di comportarsi in questo modo.Attiva/disattiva il cassetto di navigazione tramite il titolo della barra delle azioni
Credo che il cassetto di navigazione di per sé soddisfacente, ma ecco come lo ha installato la barra delle azioni:
private void configureActionBar(CharSequence mTitle) {
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true);
actionBar.setIcon(R.drawable.ic_blank);
GradientDrawable gd = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM,
new int[] {
0xFF004700, 0xFF002900
});
gd.setCornerRadius(0f);
actionBar.setBackgroundDrawable(gd);
// set the title of the action bar using the given title
actionBar.setTitle(mTitle);
}
Qualche suggerimento sarebbe molto apprezzato!
Grazie per il post: in realtà ho già passato l'evento a mDrawerToggle come hai delineato (motivo per cui toccando l'icona dell'app attiva o disattiva il cassetto come previsto), ma ho problemi ad ottenere la stessa funzionalità da ActionBar titolo (separato dall'icona, come nell'app Gmail). Suppongo che sia possibile usare una vista personalizzata per ActionBar con TextView come titolo - quindi potrei impostare un ascoltatore onClick per la vista e chiamare openDrawer(), ma questo sembra meno elegante della soluzione che spero trovare. Grazie comunque! –
Mmm strano perché l'app in uso funziona anche per il titolo. Infatti, l'icona + titolo agisce come un unico pulsante perché mette in evidenza sia ciò che faccio clic. Forse c'è un problema nell'utilizzo di ActionBarDrawerToggle che proviene dalla libreria di supporto con ActionBar che non lo è. Ho provato ad utilizzare ActionBar dalla libreria di supporto? Devi prendere getSupportActionBar() invece di getActionBar() ... Solo indovinando – nsL
Ah, buona presa. Non ho usato SupportActionBar, quindi sarò sicuro di provarlo. Grazie! –