A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 武汉分校-小舞 于 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!



推荐阅读:



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马