2017-06-22 202 views
-1

我在操作欄中遇到了一些問題。我只能通過從左向右切換看到我的抽屜,而我想在點擊漢堡菜單圖標時看到它。下面是XML:點擊漢堡菜單

<?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> 

這裏是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); 
    } 
} 

我想保持這個代碼結構,如果它是可能的。

謝謝!

回答

0

我認爲你需要ActionBarDrawerToggle的另一個構造函數,它是工具條參數的構造函數。

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

+0

非常感謝它的作品!我有最後一個問題!我希望我的背景可以在同一時間滾動:我想在抽屜中看到背景的左側部分。你知道怎麼做嗎 ?再次感謝你 ! – Cijee

+0

我不知道我明白你在找什麼。 – sofakingforever

+0

當我爲了看到抽屜而滾動時,抽屜就在我上一頁的前面,我希望我的上一頁在同一時間滾動。事實上,最後,我想看看我的抽屜和我上一頁的左邊部分。對不起,我的英文不好 – Cijee

1

我有是工作的罰款類似的代碼,試試這個

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

非常感謝它!我有最後一個問題!我希望我的背景可以在同一時間滾動:我想在抽屜中看到背景的左側部分。你知道怎麼做嗎 ?再次感謝你 ! – Cijee

+0

如果您發現該答案有用,請加註。 –

+0

而關於你的其他查詢,你能否提供一些細節? –