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