DrawerLayout需要的布局文件
首先要以 android.support.v4.widget.DrawerLayout 作為標簽。
另外需要將設置的側邊欄布局的 android:layout_gravity="start" start設置為左邊布局,end設置為右邊布局。
在activity中的代碼:
private DrawerLayout mDrawerLayout;
private ActionBarDrawerToggle mActionBarDrawerToggle;
// ActionBarDrawerToggle 應該用的 android.support.v7.app.ActionBarDrawerToggle 包中的。如果沒有請inport V7庫 support/v7/appcompat
//得到的是側邊欄的id
mDrawerLayout = (DrawerLayout) findViewById(R.id.f1);
mActionBarDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
R.string.open, R.string.close);
//對mDrawerLayout 進行監聽。
mDrawerLayout.setDrawerListener(new DrawerListener() {
@Override
public void onDrawerStateChanged(int arg0) {
mActionBarDrawerToggle.onDrawerStateChanged(arg0);
}
@Override
public void onDrawerSlide(View arg0, float arg1) {
mActionBarDrawerToggle.onDrawerSlide(arg0, arg1);
}
@Override
public void onDrawerOpened(View arg0) {
mActionBarDrawerToggle.onDrawerOpened(arg0);
}
@Override
public void onDrawerClosed(View arg0) {
mActionBarDrawerToggle.onDrawerClosed(arg0);
}
});
注:另外一種簡單監聽方式
mDrawerLayout.setDrawerListener(mActionBarDrawerToggle);
@Override
protected void onPostCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onPostCreate(savedInstanceState);
mActionBarDrawerToggle.syncState();
}
public boolean onOptionsItemSelected(MenuItem item) {
return mActionBarDrawerToggle.onOptionsItemSelected(item)
|| super.onOptionsItemSelected(item);
}