2013-06-16 6 views
11

Ich habe die neue Schublade mit Actionbar Sherlock implementiert, und die Actionbar bleibt natürlich im gleichen Zustand.Bewegen Sie die Actionleiste Sherlock mit Schublade Navigationsmenü

Ich habe die ActionBarDrawerToggle-Schnittstelle implementiert, um die Open/Close-Rückrufe zu behandeln.

actionBarDrawerToggle = new ActionBarDrawerToggle(this, menu, R.drawable.ic_launcher, 
      R.string.app_name, R.string.app_name) { 
     @Override 
     public void onDrawerOpened(View drawerView) { 
      super.onDrawerOpened(drawerView); 
      drawerOpened = true; 
      sliderButton.setBackgroundResource(R.drawable.tab_bar_menu_icon_push); 
     } 

     @Override 
     public void onDrawerClosed(View drawerView) { 
      super.onDrawerClosed(drawerView); 
      drawerOpened = false; 
      sliderButton.setBackgroundResource(R.drawable.tab_menu); 
     } 
    }; 
    menu.setDrawerListener(actionBarDrawerToggle); 

Wie stelle ich die Aktionsleiste so ein, dass sie sich mit dem Menü der Schublade bewegt?

Antwort

16

die Fragen scheint ein bisschen für mich verwirrend, aber ich denke, es ist sehr einfach Antwort, wenn Sie die richtigen Verbindungen und ein bisschen Geschichte, die ich werde versuchen, hier zu bieten:

Wie Sie auf den offiziellen Designrichtlinien >>>LINK<<< sehen können: die Schublade soll den Hauptinhalt abdecken und sowohl die ActionBar als auch der Inhalt soll fest bleiben, überhaupt nicht bewegen. Das einzige Element, das sich auf dem Bildschirm bewegt, ist die eigentliche Schublade.

Aber dieses Muster wurde erst vor einem Monat während der Google I/O 2013 veröffentlicht. Zuvor hatte jede Google App genau das getan, was die Entwickler in diesem Moment tun wollten. Und jetzt, da die Google I/O bestanden wurde, laufen sie alle den offiziellen Richtlinien entsprechend (die meisten von ihnen sind bereits aktualisiert, zum Beispiel Gmail und G +).

Wenn Sie die offizielle Richtlinie nicht befolgen und die gesamte App (sowohl ActionBar als auch Inhalt) aus dem Bildschirm ziehen möchten, wenn die Schublade geöffnet ist, verwenden Sie am besten die ausgezeichnete SlidingMenu-Bibliothek >>>LINK<<< . Und wenn Sie die Beispiele lesen und im Internet suchen, bin ich mir sicher, dass Sie den Weg finden werden, es zu implementieren.

Wenn Sie die offizielle Richtlinie befolgen möchten, aber auch den ActionBarSherlock verwenden möchten (das ist, was ich in meinem aktuellen Projekt tue), finden Sie hier ein ActionBarDrawerToggle mit ActionBarSherlock in dieser GIT Pull-Anfrage für das offizielle Projekt >>>LINK<<< aber diese Pull-Anfrage wurde nicht akzeptiert, so können Sie entweder den Code von dort kopieren und auf Ihr Projekt oder Sie können diese Gabel von der ursprünglichen ActionBarSherlock hier >>>LINK<<<, dass der Kerl bereits implementiert und bereits die von mir vorgeschlagene Lösung angewendet.

Ich hoffe, dies beantwortet Ihre Frage.