位置: 编程技术 - 正文

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)

  • 哪些税种属于中央固定收入
  • 固定资产加速折旧法
  • 公司两年账没做
  • 通用机打发票还能用吗
  • 生产经营行业
  • 物业公司开场地租赁费发票编码
  • 行政划拨无偿取得发票
  • 累计折旧是费用岗负责的吗
  • 金税盘减免税额
  • 一般纳税人要交的税种有几种
  • 广告费发票的税率
  • 从业人数如何计算
  • 国有资产拍买网
  • 收到公司投入的土地使用权
  • 慈善基金会的含义
  • 六税两费包括哪三税
  • 计提房租的原始凭证包括
  • 公司用无形资产投资需要交税吗
  • 来料加工的账务处理
  • 合伙人退伙资产清算需要交税吗
  • 1697511073
  • 增值税开票系统客服电话
  • win11预览版更新界面
  • 个税的适用税率有哪些
  • 行政单位如何将资产年报导入财报里
  • uniapp微信小程序支付流程
  • 企业支付宝给别人有什么用
  • 期间损益的科目
  • php array数组
  • 微软输入法卸载不了
  • 企业票据贴现费怎么算
  • php单独运行
  • 签了购房合同贷款办不下来怎么办
  • iqoo怎么开启无线充电
  • 继续涉入资产会计处理
  • htmlcssjavascript网页制作
  • xml格式化输出
  • php获取url内容
  • php解析json对象
  • css给div加边框
  • thinkphp pathinfo
  • 建筑公司预收账款财税怎么处理
  • 什么是资产减值准备计提
  • 存货成本核算方法有哪些
  • 帝国cms视频教程
  • 识别假人民币的简便方法
  • 增值税发票上多了一个点能刮掉吗
  • mysql使用技巧
  • 低值易耗品管理办法
  • 不良品扣款入什么科目
  • 代收往来款的会计分录
  • 金蝶软件做账流程图片
  • 股东退股按什么退钱
  • 会计科目是怎么来的
  • 建筑企业结转成本附件
  • 计提附加税费是什么意思
  • 单位发放职工2000元慰问金申请怎么写
  • 增量成本属于什么成本
  • 借分公司的款收据怎么开
  • 一般纳税人的服务费税率是多少
  • 电子发票服务平台怎么下载发票
  • 脚手架租赁费发票内容开劳务可以吗
  • 资本金账户资金允许
  • win8创建密码
  • bios如何设置
  • boot from
  • 360 sesvc.exe
  • win7系统升级到win10后,还能还原回来吗
  • win10系统如何添加隐藏wifi
  • linux系统中文件权限分为哪三种
  • windows+ctrl+m
  • 电脑主板故障分析与判断
  • windows8.1u盘安装教程
  • js定时器的两种方法
  • 对js关键字命名的优点
  • css中如何设置图片大小
  • 零基础学JavaScript
  • javascript for in
  • 东莞国税咨询电话
  • 办理养殖照税务登记证
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设