2017-06-22 3 views
-1

Ich habe ein kleines Problem in meiner Aktionsleiste. Ich kann meine Schublade nur sehen, wenn ich von links nach rechts wechsle, während ich es gerne sehen würde, wenn ich auf das Burgermenü-Symbol klicke. Hier ist die xml:Klicken Sie auf Burger Menü

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.v4.widget.DrawerLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/drawerLayout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical"> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="#FFC100" 
       android:text="bite" 
       android:minHeight="?attr/actionBarSize" /> 



     </LinearLayout> 

     <FrameLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_gravity="left"> 

      <include layout="@layout/drawer"/> 

     </FrameLayout> 

    </android.support.v4.widget.DrawerLayout> 
</LinearLayout> 

und hier ist die Java:

public class HomeActivity extends AppCompatActivity { 
    Toolbar toolbar; 
    DrawerLayout drawerLayout; 
    ActionBarDrawerToggle drawerToggle; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_home); 

     this.toolbar = (Toolbar) findViewById(R.id.toolbar); 

     setSupportActionBar(this.toolbar); 
     getSupportActionBar().setHomeButtonEnabled(true); 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
     this.drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout); 
     this.drawerToggle = new ActionBarDrawerToggle(this,this.drawerLayout,0,0); 
     this.drawerLayout.addDrawerListener(this.drawerToggle); 
    } 

    @Override 
    protected void onPostCreate(Bundle savedInstanceState) { 
     super.onPostCreate(savedInstanceState); 
     // synchroniser le drawerToggle après la restauration via onRestoreInstanceState 
     drawerToggle.syncState(); 
    } 
    @Override 
    public void onConfigurationChanged(Configuration newConfig) { 
     super.onConfigurationChanged(newConfig); 
     drawerToggle.onConfigurationChanged(newConfig); 
    } 
} 

Ich mag würde diese Struktur von Code zu halten, wenn es möglich ist.

Vielen Dank!

Antwort

0

Ich denke, Sie brauchen den anderen Konstruktor für ActionBarDrawerToggle, der mit dem Toolbar-Parameter.

this.drawerToggle = new ActionBarDrawerToggle(this,this.drawerLayout,toolbar,0,0);

+0

Dank viel es funktioniert! Ich habe eine letzte Frage! Ich möchte, dass mein Hintergrund gleichzeitig scrollt: Ich möchte den linken Teil meines Hintergrunds sehen, wenn ich in meiner Schublade bin. Weißt du wie das geht? Danke nochmal ! – Cijee

+0

Ich bin mir nicht sicher, ob ich verstehe, wonach Sie suchen. – sofakingforever

+0

Derzeit, wenn ich scrolle, um meine Schublade zu sehen, die Schublade ist vor meiner vorherigen Seite, möchte ich, dass meine vorherige Seite in der gleichen Zeit scrollen. Am Ende möchte ich meine Schublade und den linken Teil meiner vorherigen Seite sehen. Es tut mir leid, mein Englisch ist nicht gut – Cijee

1

ich einen ähnlichen Code haben, die fein arbeitet, versuchen Sie diese

ActionBarDrawerToggle actionBarDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, 0,0) { 

      @Override 
      public void onDrawerClosed(View drawerView) { 
       // Code here will be triggered once the drawer closes 
       super.onDrawerClosed(drawerView); 
      } 

      @Override 
      public void onDrawerOpened(View drawerView) { 
       // Code here will be triggered once the drawer open 


       super.onDrawerOpened(drawerView); 
      } 
     }; 

     //Setting the actionbarToggle to drawer layout 
     drawerLayout.setDrawerListener(actionBarDrawerToggle); 

     //calling sync state is necessary or else your hamburger icon wont show up 
     actionBarDrawerToggle.syncState(); 
+0

Vielen Dank, es funktioniert! Ich habe eine letzte Frage! Ich möchte, dass mein Hintergrund gleichzeitig scrollt: Ich möchte den linken Teil meines Hintergrunds sehen, wenn ich in meiner Schublade bin. Weißt du wie das geht? Danke nochmal ! – Cijee

+0

Bitte upvote, wenn Sie diese Antwort nützlich finden. –

+0

Und bezüglich Ihrer anderen Frage, können Sie bitte einige Details angeben? –

Verwandte Themen