位置: 编程技术 - 正文

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)

  • 收购分公司和谁签协议
  • 律师事务所的所训
  • 城镇土地使用税的计税依据
  • 每月先报税还是先清卡
  • 有红字发票如何入账
  • 收到生育津贴会计分录怎么做
  • 付款单位与开票单位不一致如何做账?
  • 工业企业生产费用要素
  • 畜牧生物工程有限公司
  • 收到员工归还借款属于现金流量表
  • 增值税专票劳务费怎么开
  • 免费样品销售给客户计入什么科目
  • 一个公司帮另一个公司代付款
  • 应付职工薪酬月末结转到哪里
  • 电子增值普通发票经营范围呢免费吗
  • 营改增账务处理举例
  • 出租厂房收取水电费吗
  • 购买少数股东权益的会计处理
  • 实物福利计入工资总额
  • 商品退回顺丰代收怎么办
  • 华为nova9se参数详细参数
  • 企业发生待摊费怎么处理
  • 土地长期租赁最长多长时间
  • win7系统怎么操作
  • win10商店下载错误怎么回事
  • 民办非企业单位是什么企业类型
  • regsvr32 shmedia.dll
  • 应付账款收到票怎么做账
  • 职工教育经费会计账务处理
  • 竣工结算审计费用在线计算器
  • PHP面向对象程序设计调研
  • 已提减值准备的固定资产报废,确认的所得税资产
  • 劳务公司可以
  • 三栏式明细账需要每笔结余额吗
  • 公司新增注册资本是认缴的吗
  • mongodb快速入门
  • 残疾人个人所得税减免政策2023
  • 发票报送日志不完整
  • 小微企业应纳税所得额计算
  • 债权人豁免债务的账务处理会计分录
  • 劳务税能退税吗
  • 免征增值税政策的政策有哪些?
  • 金税四期上线后如何查虚开
  • mysql重置
  • 以旧换新价格怎么确认
  • 资金帐薄印花税是指什么
  • 房地产企业收到政府土地补偿款如何入账
  • 内地汇丰银行账户管理费
  • 驾校挂靠车辆账务处理是?
  • 员工个人负担的社保要交工会经费怎
  • 电子承兑汇票的承兑人是谁
  • 个人独资企业税收政策2023规定
  • 研发费用的会计处理对公司经营成果的影响
  • 记账凭证的分类标准
  • 待摊费用怎么做凭证科目
  • mysql通过find_in_set()函数实现where in()顺序排序
  • 删除文件或文件夹时出错怎么办
  • win10网卡驱动不正常连不上网怎么办
  • win7怎么取消锁定
  • 平板电脑安装的是什么格式的软件
  • cocos2dx 3.5 ”hello world“解析
  • nodejs bull
  • css盒子模型示意图
  • perl sub
  • cocos2dx 3.3 quick lua 实现返回键退出程序
  • 在动画制作中一般默认帧数选择为
  • js是函数式编程语言吗
  • 使用一串代码
  • iframe隐藏页面内容
  • sdk和安卓版本
  • jquery前端开发实战教程课后题答案
  • 江苏税务怎么在手机上办
  • 税务稽查总队
  • 烟草税多少比例
  • 西乡国税局电话
  • 博兴公安局局长
  • 买辆12万的车上路共需要多少钱
  • 上海房产税税收
  • 云开票怎么报税
  • 交医保显示已申报怎么办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设