位置: 编程技术 - 正文

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)

  • 工商名称变更后多久网上可以查到记录
  • 个人开发选项
  • 车辆购置税是什么税种
  • 培训机构财务怎么做账
  • 招待费汇算清缴扣除比例
  • 计算企业所得税不得扣除的项目
  • 股东实物分红账务怎么做
  • 车辆保险怎么计算器
  • 收入跨期审计调整分录如何滚调
  • 企业贷款银行罚息可以减免吗?
  • 挂靠被查出来后挂靠费怎么处理?
  • 租赁厂房算什么费用
  • 滞留发票是什么意思
  • 年收入12万申报人数
  • 居委会有没有税收政策
  • 小规模纳税人附加税会计分录
  • 记账凭证应交税费应交增值税怎么写
  • 小微企业所得税减免政策2023
  • 收到委托代销清单的会计分录
  • 向客户的续期相关通知
  • 销售返利是冲减收入还是做销售费用
  • 营业成本包括哪些会计科目
  • 一般纳税人有进项无销项
  • 折旧是属于公司成本吗
  • 自然人是否适用财政部税务总局2022年第15号公告
  • 2023增值税免税政策
  • 银行承兑电子汇票到期要怎么操作
  • 电脑怎么进入bios中文
  • 华为鸿蒙系统的服务
  • 增值税的滞纳金怎么做账
  • 旅行社开的发票怎么入账
  • 如何设置win10电脑开机不黑屏
  • windows搜索为什么那么慢
  • 公司报亏损需要交税吗
  • 国税代开普票能作废吗
  • 赤狐 (© Yossi Eshbol/Minden Pictures)
  • 若依原创
  • 马卡雷纳大教堂
  • 简易html代码
  • javascript最好的教程
  • cvpr2021录用文章
  • 进口货物交哪些税费
  • 员工意外伤害保险最多赔多少
  • 租集体土地建厂合法吗
  • 税控系统维护费抵扣申报表怎么填
  • 营业执照变更需要本人到场吗
  • 收到的现金折扣
  • 以公司名义买500万的车省多少税
  • 可转债中签卖出流程
  • 公司拨款给个人分录
  • 企业为什么要转移用工风险什么意思
  • 进项税额转出再转入
  • 工业总产值如何计算的
  • 补助资金如何做账
  • 公司支付劳务工资怎么做账
  • 车船使用税会计分录怎么写
  • sql server使用教程
  • windows内存诊断是干什么的
  • 尽量别熬夜
  • 启用5g后流量有什么影响
  • fedora系统安装教程
  • ubuntu多桌面切换
  • 系统中想禁止运行怎么办
  • winxp如何增加c盘空间
  • mini programes
  • win8桌面在哪
  • win7桌面没有了怎么办
  • windows8咋关机
  • 常用的linux操作
  • 删除linux系统命令
  • linux的web服务器
  • perl调用perl脚本
  • opengl csdn
  • jquery教程
  • android动态添加fragment
  • node.js搭建服务器
  • 如何用jquery
  • 网页js调试
  • 国税纳税服务有哪些项目
  • 如何落实保密制度规定措施
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设