Mi chiedo se esiste un modo per utilizzare il nuovo DrawerLayout dalla libreria di supporto con ActionBarSherlock? Ho trovato soluzione alternativa per ICS + ma quello che mi serve è il supporto per Android 2.2+ Il problema è che il riferimento di conservazione dell'ABS per android.view.MenuItem originale solo quando ICS +, ma per la versione precedente c'è un'implementazione interna che non contiene riferimento per quella originale.C'è qualche modo di usare il nuovo DrawerLayout con ActionBarSharlock?
risposta
C'è un progetto su GitHub che funziona perfettamente
Spero che questo aiuti
Per i curiosi, ciò che questo esempio fa è fondamentalmente avvolgere la classe MenuItem sherlock con la classe MenuItem standard di Android in modo che possa essere usato il solito metodo DrawerLayout.onOptionsItemSelected(). – greg7gkb
Grazie, è una soluzione semplice ma efficace! – akhyar
L'icona del cassetto è supportata da tale soluzione alternativa? Alla fine ho scoperto di migrare con AppCompat per altri motivi, ma è bello sapere. – madlymad
Se state cercando un modo per aprire e chiudere il DrawerLayout quando tocco utente Icona dal ActionBar, è possibile utilizzare questo:
switch (item.getItemId()) {
case android.R.id.home:
if (mDrawerLayout.isDrawerOpen(mDrawerList)) {
mDrawerLayout.closeDrawer(mDrawerList);
} else {
mDrawerLayout.openDrawer(mDrawerList);
}
return true;
}
return true;
}
Questo è esattamente quello che stavo cercando. Grazie @enrique –
@ justin.harrison Ottimo! Buono a sapersi! –
Sì, funziona. Freddo. – andude
Sono stato in grado di implementarlo senza alcun problema. Se hai un problema non possiamo aiutarti se non sappiamo di cosa si tratta. – Eluvatar
Lo hai implementato con ActionBarSherlock? Come affronti il fatto che il nuovo DrawerLayout richiede 'mDrawerToggle.onOptionsItemSelected (MenuItem)' in 'public boolean onOptionsItemSelected (MenuItem item)' quando ** MenuItem ** è di tipo 'android.view.MenuItem'? Quando estendi 'SherlockActivity' otterrai MenuItem di tipo' com.actionbarsherlock.view.MenuItem' – Androider
che è diverso, non ho implementato un interruttore a cassetto. tuttavia, il Drawer funziona con ActionBarSherlock, fino a che punto non sono sicuro, mi consiglia di creare una nuova domanda con quello che hai appena chiesto. – Eluvatar