位置: 编程技术 - 正文

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)

  • 房产税计入哪个科目 新会计准则
  • 离职人员补发工资怎么做账
  • 进口关税和增值税可以抵扣吗
  • 什么是宏观税负如何判定一国宏观税负的轻重
  • 应交所得税的计税依据
  • 个人独资企业需要监事吗
  • 增值税税金不足1元未缴纳账务处理
  • 房地产企业还有未来吗
  • 应收账款属于非流动资产吗
  • 原材料呆滞物料处理方法
  • 收到工程施工进度款如何记账
  • 事业单位对外投资涉及的主要科目有
  • 建筑企业一般纳税人提供建筑服务属于老项目
  • 分公司开票总公司收款行吗
  • 劳务税能不能抵扣
  • 减免的土地出让金销项税额可以抵减吗
  • 作为一名新手
  • 汇总纳税申报期
  • 未分配利润可以转实收吗
  • 商品出口消费税计算方法
  • 不同行业的单位名称
  • 收取国外技术服务费如何在外管申报个税
  • 年中建账损益类科目怎么录
  • 劳务公司如何确定收入
  • 在建工程进项税可以抵扣吗
  • 应收应付款有零头怎么处理
  • 旅游开发企业会计账务处理
  • 党政机关接收企业赞助的规定
  • 默认网关为什么有两个
  • 购买商场储值卡能退么?
  • 外购货物用于职工福利进项税额可以抵扣吗
  • 应付债券的会计处理例题
  • Yii2如何批量添加数据
  • 固定资产评估如何做
  • 基于区块链技术的什么特征可建立卷烟信息数据查询系统
  • 小程序开发要钱吗
  • 抄税清卡是一个意思吗
  • 销售商品怎么做好宣传
  • 中标费用由哪方出
  • mysql 长事务
  • 赠送油卡怎么使用
  • 计提怎么理解
  • 工会经费按工资总额的
  • php clone函数
  • 织梦上传图片大小设置
  • 个人所得税专项扣除2023最新政策
  • 抵扣税款
  • 无形资产摊销年限按法律规定还是企业估计
  • 个人承担的个税是公司的成本费用吗
  • 应收账款坏账计提比例新标准
  • 接待客人后的感受和过程
  • 为什么新准则要实施
  • 信用卡刷卡手续费是谁收取的
  • 售后回租含手续费吗
  • 一般纳税人注销公司流程2023
  • 帮员工代缴社保分录怎么办
  • 土地出让的钱归谁
  • mysql分页实现
  • win2000系统
  • win10电脑系统配置
  • Win8系统筛选器Smartscreen阻止恶意程序运行
  • windows10x预览版
  • xp系统的搜索
  • linux文本处理实验报告
  • win7系统电脑开不了机
  • win7电脑磁盘突然不见了怎么办
  • cocos2d 动画
  • Quick cocos2dx-Lua(V3.3R1)学习笔记(7) ---计时器,我是个定时吃饭睡觉的好孩子
  • ie所有版本
  • jQuery展示表格点击变色、全选、删除
  • unity gui教程
  • python的设置
  • 疯狂android讲义和第一行代码
  • jQuery基于toggle实现click触发DIV的显示与隐藏问题分析
  • android 材料设计
  • Android屏幕适配分屏
  • jquery选择器的作用
  • 三水水厂热线电话号码
  • 山西电子税务局手机版
  • 上海个税100万元工资多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设