android學習筆記:DrawerLayout實現側邊欄


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);
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM