标签:
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);
}
标签:
原文地址:http://www.cnblogs.com/wojiaozhanglei/p/4734821.html