DrawerLayout的简单使用方法
DrawerLayout是Android官方提供的侧滑菜单,它可以让用户从屏幕的边缘拉出一个抽屉式菜单,并且在菜单拉出时,主页面背景可以被蒙上一层半透明的阴影。DrawerLayout的使用非常简单,只需要以下几步:
1. 在布局文件中添加DrawerLayout
在布局文件中添加DrawerLayout,并且在DrawerLayout中添加两个子布局,一个作为主页面,另一个作为侧滑菜单:
2. 在Activity中设置DrawerLayout
在Activity中,需要先将DrawerLayout实例化,设置一个DrawerListener,用于监听DrawerLayout的状态变化:
DrawerLayout mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerLayout.setDrawerListener(new DrawerLayout.DrawerListener() {
@Override
public void onDrawerStateChanged(int newState) {
}
@Override
public void onDrawerSlide(View drawerView, float slideOffset) {
}
@Override
public void onDrawerOpened(View drawerView) {
}
@Override
public void onDrawerClosed(View drawerView) {
}
});
3. 在Activity中添加菜单项
在Activity中,需要添加一个ListView用于显示侧滑菜单,并且设置一个Adapter,用于填充数据:
ListView mDrawerList = (ListView) findViewById(R.id.left_drawer);
// 填充数据
String[] listItems = new String[]{"Item1", "Item2", "Item3"};
ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_list_item_1, listItems);
mDrawerList.setAdapter(adapter);
// 设置监听器
mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView> parent, View view, int position, long id) {
// 根据点击的菜单项,做出相应的操作
}
});
4. 在Activity中添加触发菜单的控件
在Activity中添加一个控件,用于触发侧滑菜单的显示,比如一个按钮:
Button mButton = (Button) findViewById(R.id.button);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 打开侧滑菜单
mDrawerLayout.openDrawer(Gravity.START);
}
});
通过以上几步,我们就可以实现一个简单的DrawerLayout,它可以让用户从屏幕的边缘拉出一个抽屉式菜单,并且在菜单拉出时,主页面背景可以被蒙上一层半透明的阴影。