位置: 编程技术 - 正文

Google官方抽屉DrawerLayout使用心得、踩坑经验以及定制化(google collections)

编辑:rootadmin
基础使用

推荐整理分享Google官方抽屉DrawerLayout使用心得、踩坑经验以及定制化(google collections),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:google抽奖的真实性,google chroom,google抽奖是真的吗,google抽奖是真的吗,谷歌抽索,google cho,google抽奖的真实性,google抽奖是真的吗,内容如对您有帮助,希望把文章链接给更多的朋友!

这里要介绍的是google的DrawerLayout,行为可见google官方应用如gmail,看手Q的抽屉,应该是根据android-undergarment项目来定制的一个控件。

Google Desgin GuildLines里面有介绍: a Navigation Drawer

DrawerLayout添加在主内容区的上层,作为parent,下面的第一个child是主内容区域,第二个child则可以是其他任何东西,需要作为抽屉的view则需要声明android:layout_gravity。

DrawerLayout的setScrimColor可以设置抽屉拉出时右侧主内容剩余区域上面盖的颜色(默认0x)。

高级应用

DrawerLayout默认只有在边缘的一个edge能够触发抽屉拉取的动作,而这个是通过ViewDragHelper这个类来实现的。

EDGE_SIZE是触发区域,默认dp,而BASE_SETTLE_DURATION和MAX_SETTLE_DURATION则是控制抽屉从打开到关闭之间的这个间隔。由于是私有静态常量,可以通过

Google官方抽屉DrawerLayout使用心得、踩坑经验以及定制化(google collections)

来设置左侧的触发区域,类&#;地可以修改右侧触发区域以及打开动画的间隔(当然你也可以直接去ViewDragHelper里面修改)。

不建议自己处理onTouch,会导致抽屉不能平滑跟手,比如stackoverflow上有给出以下这种方案的,简直坑爹:

坑爹的bug们初始化LayoutParam时可能出错多点触摸的时候DrawerLayout抛出一个ArrayIndexOutOfBoundsException,这是由于多点触摸时候requestDisallowInterceptTouchEvent和DrawerLayout的innerViews问题。自己在外面继承DrawerLayout然后改一下行为。有时候手动拉出抽屉时候,抽屉会卡在那里,拉不出来

这也是极其坑爹的一个bug,原因是触摸EDGE的时候,事件触发到抽屉出现有一个延时

抽屉有STATE_IDLE, STATE_DRAGGING和STATE_SETTLING三种状态,而这个偶然状况下,已经处于STATE_DRAGGING,而这个动作打开了抽屉dp并试图再次置回STATE_DRAGGING,

但这里由于mEdgeDragsInProgress[pointerId] & edge) == edge所以阻止了DrawerLayout回到STATE_DRAGGING。

解决方案是把DrawerLayout的ViewDragCallback中的mPeekRunnable进行修改,简单粗暴。

版权声明:本文为博主原创文章,未经博主允许不得转载。

ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.a Intent.ACTION_VIEW根据用户的数据类型打开相应的Activity。这里要打开一个网页,出现ActivityNotFoundException错误。android.content.ActivityNotFoundException:NoActivityfoundto

SparseArray 简介 SparseArray在写Android代码的时候发现当试图使用以int/Integer类型为key的HasMap的时候被提示使用SparseArray:UsenewSparseArrayObject(...)forbetterperformance查了一下,Spar

接入LeakCanary检测内存泄露 接入LeakCanary检测内存泄露前几天square在Github上发布了他们的内存泄漏检测库,LeakCanary,短短几天star已经接近,研究了一下后,发现其对QZone也很有

标签: google collections

本文链接地址:https://www.jiuchutong.com/biancheng/371060.html 转载请保留说明!

上一篇:应用MVP模式写出可维护的优美Android应用(mvp功能)

下一篇:SparseArray 简介(sparsomycin)

  • 清理化粪池交什么印花税
  • 文化服务费内容是什么
  • 物流货物损失该由谁负责
  • 暂缓收缴工会经费的请示
  • 增值税季报还是月报
  • 金蝶k3怎么样新增账套
  • 没有社保可以缴费吗
  • 银行的划分标准
  • 质保期内质量问题
  • 原材料采用实际成本法核算
  • 电力公司安装变压器要多少钱
  • 支付的票据承兑手续费计入财务费用
  • 出售商标使用权收入计入什么科目
  • 长期股权投资初始成本
  • 快递费税率为什么是9
  • 抄税没成功
  • 高新技术企业软著数量
  • 资本公积与股东借款
  • 制造费用明细科目大全
  • 工资个人所得税标准表
  • 固定资产清查盘亏账务处理
  • 公司注销报表怎么调
  • 建筑公司购买的材料计入什么科目
  • 发出的货物可以要求退回吗
  • 内账增值税会计核算
  • 国企承接政府项目
  • 英雄联盟中该如何加好友
  • 改变资金用途的说明
  • 固定资产报废能报保险公司理赔吗
  • 开办费计入长期待摊费用汇算清缴时怎么填写
  • php基础函数
  • 出售应收债权属于收入吗
  • 投标保证金退回的利息计入什么费用
  • 个人所得税扣缴申报啥意思
  • 公司交社保需要承担多少费用
  • latex希腊字母斜体
  • torch.save用法
  • 加计扣除的增值税,城建税怎么算
  • excel if统计
  • 哪些费用发票可以抵扣企业所得税
  • php调用网址
  • wordpress jquery
  • 外贸企业出口免税政策
  • 一个小柜的货代费用
  • 经济独立可以做什么
  • python捕获异常继续执行
  • 分公司要所得税汇算吗
  • mockito mock方法
  • centos7自带yum吗
  • python uppercase函数
  • SQL SERVER 2008 CTE生成结点的FullPath
  • Windows下Postgresql数据库的下载与配置方法
  • 简述税收筹划的意义
  • 公司买的茶叶怎么入账
  • 股东权益合计是净资产吗
  • 债券投资包含哪些
  • 收到货款就必须付货款吗
  • mysql5.5怎么用
  • win8正版系统
  • windows server 2008 企业版
  • 今后64位Win10 Mobile将是未来重点
  • ikeeperpab.exe是什么
  • windows7怎么给电脑加密码
  • cocos2d 网页
  • android 快速开发
  • 经纬科技it6000
  • shell 正则表达式 *什么意思
  • bat 批处理文件
  • 创建一个批处理文件,其功能是在当前
  • 简述javascript的主要特点
  • shell读取文本内容到变量
  • bgm背景
  • unity资源包管理器
  • 初步认识的思维导图
  • 个人所得税其他公司在为我发放工资
  • 化妆品的消费税率为
  • 进项票当月认证怎么操作
  • 地税局电话咨询电话
  • 个人以土地投资入股都需缴纳哪些税
  • 湖南银税进件中心
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设