位置: 编程技术 - 正文

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)

  • 农业免税收入怎么填纳税申报表
  • 增值税普通发票几个点
  • 小规模纳税人不开票需要纳税吗
  • 红冲以前年度收入成本的账务处理
  • 网购商品怎么报销
  • 固定资产处置损益科目编码
  • 作废的发票验旧之后怎么领取新发票
  • 应交税费增值税明细账
  • 代缴五险一金自己还需要缴纳吗
  • 工业企业制造费用具体怎么摊
  • 资产负债表存货项目期末余额怎么算
  • 研发机构认定条件
  • 物流公司货物丢失不赔偿怎么处理
  • 特殊性税务处理和一般性税务处理的区别
  • 商品期货交易会计核算
  • 收到的劳务费发票进什么科目
  • 滞纳金入什么会计科目
  • 公司按揭购车
  • 工会经费税收
  • 材料验收入库的会计科目
  • 当收到转账支票时,应该如何处理?
  • 空白发票怎么用
  • 核定征收的个税怎么算
  • 利息保障倍数如何计算
  • 去年开的增值税普通发票今年可以作废吗
  • 公司给职工买工伤险流程
  • 一般纳税人销售二手车增值税税率
  • 证券权益包括哪些内容
  • php哈希表
  • 承包合同包含的内容
  • win10记事本怎么改字体颜色
  • 委托开发软件如何入账
  • 赔付支出有哪些
  • 商业汇票转让后,能否追索前手
  • thinkphp dump
  • 境外支付佣金代扣代缴增值税
  • php图片上传代码详解
  • 长期借款账务处理会计分录怎么写
  • vue子组件监听父组件
  • 如何做架构规划图
  • chatb
  • lxml&xpath一站式教学
  • 华为od测试岗机试需要怎么准备
  • linux ar命令
  • 采购和销售都做的叫什么
  • 增值税专用发票和普通发票的区别
  • 长期股权投资哪些用成本法
  • 不发工资可以先报警吗
  • 公司欠款利息收据怎么写
  • 营业成本指的什么
  • 营业外支出属于费用类科目吗
  • 公司转帐支票可以转账吗
  • 如何在科目余额表中查询给另一家公司付了多少钱
  • 以前年度房租付了没计提
  • 外经证预缴税款必须去外地交税吗
  • 返还的个税如何做分录
  • 资产负债表税务局能看到吗
  • 注册工贸公司业务范围
  • 股票交易费用计入股票成本吗
  • 免税发票可以抵扣税收农产品吗
  • 财务建账应关注哪些内容
  • mysql查询条件不区分大小写
  • xp启动项设置在哪里设置
  • win7系统的分区类型怎么选
  • win10系统打不开应用程序
  • Win8系统怎么安装
  • windows config文件
  • 防火墙ddos攻击防范
  • Default style sheet for HTML 4
  • jquerycdn
  • Linux 中的Edquota命令
  • python 基础教程第三版 怎么样
  • 在谈到民族这个概念是我们一再指出
  • javascript要怎么学
  • js修改url
  • 税务局投诉怎么投诉
  • 百望税控盘电子发票怎么打
  • 江苏省电子税务局社保缴费查询
  • 安徽工作人员出差费用标准
  • 什么是集体约谈制
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设