MaterialDesign 之 DrawerLayout
DrawerLayout 基本使用
我们先来看一下布局
<android.support.v4.widget.DrawerLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:id="@+id/dl"><LinearLayout android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><android.support.design.widget.TabLayout android:layout_height="50dp"android:layout_width="match_parent"android:id="@+id/tb"></android.support.design.widget.TabLayout><android.support.v4.view.ViewPager android:layout_width="match_parent"android:layout_height="match_parent"android:id="@+id/vp"></android.support.v4.view.ViewPager></LinearLayout><LinearLayoutandroid:layout_width="100dp"android:layout_height="match_parent"android:layout_gravity="start"android:orientation="horizontal"android:background="#ffccff"><TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="aaa"/></LinearLayout> </android.support.v4.widget.DrawerLayout>
在 DrawerLayout 里包括两个子布局 第一个是主页布局 第二个是侧滑布局
注意:
第一个布局可以是任意布局 但必须设置成 全屏显示,
第二个布局可以任意宽度 但必须设置 android:layout_gravity="start" Start 表示从左边显示 End 表示从右边显示
然后重启一下是不是可以从左边滑出菜单来了,就是这么 easy
DrawerLayout 和 ToolBar 的绑定
首先我们要在上面的布局里 DrawerLayout 上填加一个布局 ToolBar。
<android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content"><android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent"android:layout_height="?android:attr/actionBarSize"android:background="?attr/colorPrimary"app:layout_scrollFlags="scroll|enterAlways"/> </android.support.design.widget.AppBarLayout>
第一步初始化 ToolBar 控件
toolbar = (Toolbar) findViewById(R.id.toolbar);
dl = (DrawerLayout) findViewById(R.id.dl);
setSupportActionBar(toolbar);
第二步显示箭头
在这的时候就可以看到我们的图标了,
ActionBar actionBar = getSupportActionBar();
//设置当前的控件可用
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayShowTitleEnabled(true);
第三步 关联 DrawerLayout
//第一个参数 activity 第二个参数 drawlayout
//第三个参数 Toolbar 第四个和第五个是打开和关闭的文字 toggle = new ActionBarDrawerToggle(this, dl, toolbar,R.string.aa, R.string.bb);
//该方法会自动和 ToolBar 关联 toggle.syncState();
第四部设置监听(给我们的 DrawerLayout 设置监听)
dl.addDrawerListener(new DrawerLayout.DrawerListener(){@Override public void onDrawerSlide (View drawerView,float slideOffset){toggle.onDrawerSlide(drawerView, slideOffset);}@Override public void onDrawerOpened (View drawerView){toggle.onDrawerOpened(drawerView);}@Override public void onDrawerClosed (View drawerView){toggle.onDrawerClosed(drawerView);}@Override public void onDrawerStateChanged ( int newState){toggle.onDrawerStateChanged(newState);}});
第五部 响应事件
@Override
public boolean onOptionsItemSelected(MenuItem item) {return toggle.onOptionsItemSelected(item);}
转载于:https://www.cnblogs.com/yanglanwan/p/11299274.html
MaterialDesign 之 DrawerLayout相关推荐
- MaterialDesign学习篇(二),Toolbar、DrawerLayout的使用
什么是Toolbar Toolbar是应用的内容的标准工具栏,可以说是Actionbar的升级版,两者不是独立关系,要使用Toolbar还是得跟ActionBar扯上关系的.相比Actionbar,T ...
- MaterialDesign之NavigationView和DrawerLayout实现侧滑菜单栏
本文将介绍使用Google最新推出规范式设计中的NavigationView和DrawerLayout结合实现侧滑菜单栏效果,NavigationView是android-support-design ...
- 基于MaterialDesign设计风格的妹纸app的简单实现
代码地址如下: http://www.demodashi.com/demo/11644.html *今天看了郭神的第二行代码,深深的被MaterialDesign的设计风格所吸引,然后就照例做了一个小 ...
- android设计风格是什么软件下载,基于MaterialDesign设计风格的妹纸app的简单实现
今天看了郭神的第二行代码,深深的被MaterialDesign的设计风格所吸引,然后就照例做了一个小Demo,希望多多支持,图片资源来源于网络.先附上我的源码地址:https://github.com ...
- MaterialDesign学习篇(五),使用SearchView的正确姿势
介绍 大多APP都具有搜索功能,但是大部分都是在标题栏中放置搜索的图标或者是不可输入的EditText,当点击的时候,开启另外一个界面进行搜索,但是网易云音乐在搜索本地音乐的时候,点击搜索按钮,就会出 ...
- Android 侧滑栏 (DrawerLayout)
DrawerLayout 实现侧滑栏非常简单 支持左滑动以及右滑动 默认滑动出来侧滑栏 DrawerLayout 需要引入support:appcompat 库,一般创建项目的时候自带的有,这个库就 ...
- android DrawerLayout 改变系统默认的灰色
在使用原生的侧滑栏的时候系统默认的主页显示是灰色的, 想要去掉这个灰色的颜色值 可以设置其颜色值为透明 假如定义 DrawerLayout drawerLayout 那么设置颜色透明的时候可以调用se ...
- Android ActionBarDrawerToggle、DrawerLayout、ActionBar 结合
ActionBarDrawerToggle是一个开关.用于打开/关闭DrawerLayout抽屉 ActionBarDrawerToggle 提供了一个方便的方式来配合DrawerLayout和Act ...
- Android -- DrawerLayout
抽屉效果的导航菜单 喜欢知乎的都应该装的用知乎日报吧~这里指Android的不是IOS的.知乎日报的导航菜单就是用DrawerLayout实现的. 觉得这种侧滑的抽屉效果的菜单很好. 不用切换到另一个 ...
- android侧滑布局,Android布局控件DrawerLayout实现完美侧滑效果
drawerLayout其实是一个布局控件,跟LinearLayout等控件是一样的,但是drawerLayout带有滑动的功能.只要按照drawerLayout的规定布局方式写完布局,就能有侧滑的效 ...
最新文章
- 使用 git 管理 portage tree
- qq聊天框java_jQuery实现简单QQ聊天框
- POJ 1094 Sorting It All Out (拓扑排序)
- 焦油坑和人月神话--人月笔记1
- 第04课:深度学习框架 PyTorch
- ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)
- 雷军:小米推动山寨机灭亡;苹果回应禁止第三方换电池;Javascript 引擎 V8 7.7 发布 | 极客头条...
- 深度学习TF—13.对抗生成网络—GAN
- 使用R包qpdf用一行代码将多个pdf合并为一个pdf
- 7位双极性序列 matlab,matlab仿真-bpsk调制
- 数据分析 --- 如何处理脏数据
- 前端电子时钟字体引入
- 阿里云移动推送 - 异常记录
- 【fk_index】外键中有无索引的区别
- 浅谈区块链技术应用场景
- python壁纸程序代码_40行Python代码+奇技淫巧搞定专属电脑壁纸库
- html5画布画出折线图,canvas 画出动态折线图
- AHB2APB 同步桥的设计代码(Verilog)
- 手机也能拍出艺术品?大师镜头,“真”突破了不少
- 分布式电源接入对配电网的影响matlab程序(IEEE9节点系统算例)