DrawableLayout
提供一个在窗口顶层显示,可从窗口边缘拖出的container组件。
DrawableLayout本身作为整个容器,先进行默认显示内容的布局,再进行拖出菜单的内容布局。也就是一个DL包含两个或三个子控件,第一个子控件是默认布局,显示在下层;第二、三个子控件是菜单布局(方向不同),默认不显示,划出时显示在上层。
通过子控件(菜单本身)的layout_gravity控制控件从何方向被拖出。
子控件2、3 以下称 菜单控件
的layout_gravity来决定其滑出位置,right (start)/ left(end);不可用top,bottom,这两个属性将导致应用崩溃。注意:编辑时编辑器可能不会提示layout_gravity属性,需要自己打出。
菜单控件的宽度设置为match时,为系统默认宽度,划出时大概占整个屏幕宽度的4/5;设置为warp时,内容依然会自适应。
DrawerListener 可以监听菜单的滑出状态。
onDrawerStateChanged 菜单视图绘制状态变化的回调,1、2为正在绘制,此时尽量不要进行比较消耗性能的操作,不然滑动将会卡顿。0为没有执行绘制。
onDrawerSlide 菜单滑动的回调,回调的参数为当前菜单视图所显示的宽度与其全宽的的比例,1为全部显示,0为隐藏。
onDrawerClosed 如其名,菜单关闭时回调。
onDrawerOpened 同上如其名。
SimpleDrawerListener提供单一的回调重写,未重写部分将不做任何操作。
DrawableLayout 的 closeDrawer 、openDrawer方法可以主动控制菜单的状态 这两个方法需要接收一个int参数(GravityCompat的start、end,不能用right,left) 以确定要滑动的菜单视图,当该参数与xml中菜单控件的gravity不一致时(如left/start与 end)也将抛出异常应用崩溃。
如果在默认视图里增加按钮通过点击来控制菜单的滑出的话,请注意,当菜单为滑出状态时点击空白区域,将会导致菜单隐藏。可以再点击监听中直接使用isDrawerVisible方法来确定菜单是否为显示状态,之后确定执行滑出、隐藏操作。
DrawableLayout的更多相关文章
- drawableLayout的使用(转载讲的比较清晰的文章)
创建drawbler的布局文件 初始化drawbler的列表 响应drawable列表点击事件 现在侧滑菜单使用很多,大都是通过SlidingMenu实现.现在也可以通过DrawerLayout 创建 ...
- ToolBar+Drawable实现一个好用的侧滑栏(侧边栏)和工具栏
先参考下ToolBar的使用和DrawableLayout的使用: 1.主界面布局,主要结构包含一个ToolBar和一个DrawableLayout,DrawableLayout里面有左侧边栏布局和主 ...
随机推荐
- UnityContainer 实现DI
DI(依赖注入) 的方式有很多种: 接口注入,属性注入,构造注入等.DI主要是为了实现代码的松耦合,方便代码的维护和扩展.(其实都是扯淡). 来说说我为啥要使用DI吧.公司有个项目,需要我一个人完成( ...
- MicroERP1.0简介及下载
Micro ERP(蓝本)适用于中小微型企事业单位实施信息化管理.本系统研发初始即摒弃了传统ERP所众所周知的诸多繁琐功能,始终坚持以简化流程.平稳实施.快 速应用为切入点.在功能不断完善.健壮的同时 ...
- php 循环删除目录中的过期文件
$savepath1 = 'Public/biaoqian/upload'; $path1 = dir($savepath1); while (($ ...
- OpenCV中的矩阵操作
函数 Description 说明 cvAdd Elementwise addition of two arrays 两个数组对应元素的和 cvAddS Elementwise addition of ...
- 例子:Basic Lens sample
本例演示了如何自己扩展一个Camera Lens. 1. UI界面是一个MediaViewer <controls:MediaViewer x:Name="MediaViewer&qu ...
- js①
JavaScript的引入方式 直接在script标签内部书写代码 ```html <!DOCTYPE html> ``` 2. 通过script标签的src属性,引入外部的JavaScr ...
- Unity中游戏的声音管理
using UnityEngine;using System.Collections;using System.Collections.Generic;/// <summary>/// 用 ...
- 北大poj-1091
跳蚤 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9591 Accepted: 2892 Description Z ...
- jenkins配置
自动化测试机器172,27.14.22 IP 一.jenkins要先登录——>点击JCF_Automation——>点击左边配置 二.环境变量赋值就不会把进程杀掉
- iOS一些常用的小知识点
//获取全局的Delegate对象,这样我们可以调用这个对象里的方法和变量 [[UIApplication sharedApplication] delegate]; //获得程序的主Bundle N ...