黑马程序员技术交流社区

标题: 武汉独家分享:抽屉布局和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!



推荐阅读:

黑马程序员Android实体班同步项目Demo源码汇总,挑战月薪20K!
《【武汉校区】Java/Android实体班同步笔记+配套面试/项目宝典》







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2