位置: 编程技术 - 正文

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)

  • 个人所得税起征点2023税率表
  • 企业法人如何网上实名认证
  • 设备计提的折旧为什么要交所得税
  • 银行电子承兑到期多久时间之内可以兑现
  • 税务系统重置密码
  • 本月进项税大于销项税有留底,如何做会计分录
  • 开票金额为什么会多出一分钱
  • 建筑行业税负率表2023最新
  • 注册公司认缴资本不缴可以吗
  • 废旧物资回收经营范围
  • 投资可赎回基金怎么入账?
  • 建筑设计行业收入调查
  • 商业银行退出
  • 购买货物待销售会计分录
  • 出口退税销项税额计算公式
  • 成立分公司总公司有什么影响
  • 职工教育经费怎么做账
  • 实收资本印花税最新政策2023年
  • 长期股权投资账面价值和公允价值不一致
  • 购买土地建房出售怎么做账
  • 旅游业差额征税怎么计算
  • 待抵扣的进项税因不能抵扣做转出的会计处理
  • 企业发生的培训费能否在所得税前扣除
  • linux grub
  • 票据行为包括哪4点
  • 带息应收票据的核算
  • 企业定率征收的税率是多少
  • 发票认证了但是没收到票怎么处理
  • vue登录页面点击登录进入首页
  • 直接材料成本差异账户在平时登记贷方登记
  • 发票开具有误拒收后销售方如何处理?
  • 购买办公用品怎么做明细账
  • 委托加工物资增值税计税依据
  • 购置固定资产用什么凭证
  • 比弗利山庄安全吗治安
  • codeignitor
  • 分公司?
  • devtools vue
  • php数据的提交与采集实验报告
  • 人工智能答案
  • 应收账款未计提怎么处理
  • 企业所得税的计算公式三种
  • 认缴制对实务操作的可能影响有哪些?
  • 帝国cms移动端
  • 收到税控系统技术维护费分录
  • 新会计准则规定
  • 小企业会计准则主要按照什么计量
  • 中小企业抵税
  • 民间非营利组织会计制度及操作实务
  • 企业用现金支付本企业职工工资时应
  • 贴现帐务处理
  • 押金是否可以抵扣租金
  • 个税租房抵扣细则
  • 公司个人薪金怎么交税
  • 收到上市公司分红企业所得税减半征收的情景
  • 保险可以税前扣除吗
  • 新企业如何建帐
  • MySQL关于exists的一个bug
  • vs 2008
  • ubuntu server教程
  • centos6.2安装教程
  • win10添加闹钟
  • win7系统安装步骤
  • win10快捷键合集
  • google chrome windows 10
  • 服务器centos7
  • linux使用rpm安装软件
  • Win10年度升级版将正式提供暗黑主题 未自定义颜色都会变暗
  • win8禁用网络之后如何开启
  • python入门后学什么
  • unity资源包怎么用
  • ssm vue
  • jquery jsonview
  • redis基础教程
  • javascript中的document
  • jquery 插件写法
  • 公共卫生委员会领导小组
  • 包装物押金的计算
  • 小店区税务大厅
  • 税法上接受捐赠是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设