黑马程序员技术交流社区
标题: 武汉独家分享:抽屉布局和actionbardrawerlayout应用 [打印本页]
作者: 武汉分校-小舞 时间: 2016-3-15 11:01
标题: 武汉独家分享:抽屉布局和actionbardrawerlayout应用
本帖最后由 武汉分校-小舞 于 2016-3-15 13:51 编辑
武汉校区独家分享:抽屉布局和actionbardrawerlayout应用
DrawerLayout组件同样是V4包中的组件,也是直接继承于ViewGroup类,所以这个类也是一个容器类。使用DrawerLayout可以轻松的实现抽屉效果,使用DrawerLayout的步骤有以下1几点:
1)在DrawerLayout中,第一个子View必须是显示内容的view,并且设置它的layout_width和layout_height属性是match_parent.
2)第二个view是抽屉view,并且设置属性layout_gravity="left|right",表示是从左边滑出还是右边滑出。设置它的layout_height="match_parent"
很简单像上面那样写好布局就可以使用了
下面是运行效果
左边拉出来
当然因为我们也配置了右边 所以右边也拉出来
这样我们就学会了使用drawerlayout
当然这样的使用的话很低级 只能靠左右拉出来 我们可以在左上方设置了按键已点就出来 一点就进去 这样我们的把 actionbar和drawerlayout联合在了一起
那么怎么才能做到呢? 这就需要一个关联actionbar和drawerlayout的一个开关
这个开关就是actionbardrawertoggle
怎么用它呢?
我们分下面5步就好了
1先实例化ActionBarDrawerToggle
toggle= new ActionBarDrawerToggle(this, dl, 0, 0);
2 复写activity2个方法
@Override
publicvoid onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
toggle.onConfigurationChanged(newConfig);
}
@Override
publicboolean onOptionsItemSelected(MenuItem item) {
toggle.onOptionsItemSelected(item);
returnsuper.onOptionsItemSelected(item);
}
3.复写onpostcreate 和 actionbar同步
@Override
protectedvoid onPostCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onPostCreate(savedInstanceState);
toggle.syncState();
}
4.关联 drawerlayout
dl.setDrawerListener(toggle);
5.显示actionbar
getActionBar().setDisplayHomeAsUpEnabled(true);
注意 必须要设置带actionbar的主题
这里我们使用
注意 drawerlayout是v4包下
Actionbardrawertoggle是V7包下 使用首先要导入V7包
想最快获取最新传智播客武汉讲师分享技术文章请加QQ 1641907557 ,后期会分享更多与实体班同步教程,助你冲击月薪20K!
推荐阅读:
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |