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"}; ArrayAdapteradapter = 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,它可以让用户从屏幕的边缘拉出一个抽屉式菜单,并且在菜单拉出时,主页面背景可以被蒙上一层半透明的阴影。