Android开发,有些系统功能不符合我们的开发需求,可能回去看看源码,考虑怎么去覆写实现,或者考虑直接拷贝源代码,自己实现,当然如果代码依赖的很复杂,那么拷贝就不是一个明智的选择了。

这个弹窗有可能你遇到过,当我们修改代码源文件的时候,androidsutido会弹出这个弹窗,给你一个提示,大多数时候我们关了这个弹窗,会当什么都没发生过,但是我们如果点下确定的,是可以改代码的,wtf!!!
虽然在java这边跑的是class,但是在flutter这边,改了就会生效了!!!

基于以上,flutter的一个顽疾,滑动控件(如果没有设置physics)里面子界面如果可以点击,那么父控件开始滑动式,会有一个抖动

问题代码 在方法acceptGesture(DragGestureRecognizer)

 _state = _DragState.accepted;      /// 1final Offset delta = _pendingDragOffset;      /// 2final Duration timestamp = _lastPendingEventTimestamp;      /// 3_pendingDragOffset = Offset.zero;

当我们开始拖动的时候会执行以上代码,_pendingDragOffset 是用于判断是否开始拖动的,当 _pendingDragOffset >kTouchSlop 则调用acceptGesture确认开始滑动,而这个时候 _pendingDragOffset 是 大于kTouchSlop的至少是18px,这个值的重置在3处,,而1处的delta是初始偏移值,所以导致了这个抖动 而,我们只需要把它改成

 _state = _DragState.accepted;      /// 1final Offset delta = Offset.zero;      /// 2final Duration timestamp = _lastPendingEventTimestamp;      /// 3_pendingDragOffset = Offset.zero;

也就是 delta 设置为0 就好了

总结

对于flutter 改源码,会立即生效,即使是多人开发这个更改工作量也是很小的。而且可以直接更改系统代码!!!可以直接更改系统代码!!!可以直接更改系统代码!!!
因此flutter的扩展自用度,真的难以想象,(至少在flutter底层代码没被写进Android系统前是这样的。。。)

关于Flutter的全部学习内容,我们这边都有系统的知识体系以及进阶视频资料,有需要的朋友可以加群免费领取安卓进阶视频教程,源码,面试资料,群内有大牛一起交流讨论技术;点击链接加入群聊【腾讯@Android高级架构】
(包括自定义控件、NDK、架构设计、混合式开发工程师(React native,Weex)、性能优化、完整商业项目开发等)

Android高级进阶视频教程

转载于:https://blog.51cto.com/14217562/2380413

flutter尽然还能有这种操作!!!相关推荐

  1. Flutter尽然还能有这种操作!送大厂面经一份!

    我,来自大山. 我,不甘平凡. 笔者80后,出生在江西一个偏远的山村.虽然出生时已经不是那个温饱都是问题的年代,但是也谈不上有个幸福的童年.家里很穷.幼儿园并没有读,因为家里觉得花那个钱没有必要,小学 ...

  2. 腾讯T3手把手教你!Flutter尽然还能有这种操作!全套教学资料

    Gradle是什么? Gradle是一种构建语言,目前是Android的默认构建工具,我们编写的编译脚本,其实就是玩Gradle的API,所以从它更底层的意义上看,是一个编程框架. 因为涉及的内容很多 ...

  3. flutter全屏时钟!Flutter尽然还能有这种操作!薪资翻倍

    程序员与别的专业有所不同,其他专业都是越老越香,而程序员却是一个例外,因为计算机技术更新太快,而且工作强度很大,因此大部分程序员只会写 3 年代码.3 年后要不晋升做项目经理,要么转行,个别研究所除外 ...

  4. Flutter尽然还能有这种操作!大厂面经合集

    开篇 说一下我大概的情况.渣本毕业,工作已经有快3年了,从高中就开始玩小破站.无论是学习还是日常放松都是在b站.大学主学的软件技术专业,所以,入职bilibili是我大学时期给自己定的小目标. 在学校 ...

  5. 经验分享:Flutter尽然还能有这种操作!赶紧收藏备战金三银四!

    前言 这里整理的是一些与技术没有直接关系的面试题,但是能够考察你的综合水平,所以不要以为不是技术问题,就不看,往往有时候就是这样一些细节的题目被忽视,而错过了一次次面试机会. 想要成为一名优秀的And ...

  6. android培训教程Flutter尽然还能有这种操作!震撼来袭免费下载!

    最近很多人说,Android越来越不好找工作了,学习NDK开发会不会好点,今天就聊聊这个问题.是否应该选择学NDK? 1.哪些场景下要用到NDK开发? 跨平台的库,如FFmpeg, skip,weex ...

  7. Flutter尽然还能有这种操作!隔壁都馋哭了

    一个朋友是前阿里人,37岁,离职后就职美团.以前投一个面一个,今年想跳槽,但没想到投十个能有两个面试机会就不错了,最后索性又回了阿里做架构. 他在面试的时候,碰见比自己大的面试官,态度和善,一般面试都 ...

  8. Flutter尽然还能有这种操作!先收藏了

    如何提升学习? 提升学习很大程度上就是为了跳槽涨薪,当然运气不好的情况可能是被劝退重新找工作,无论是哪种情况,自主学习的能力是要有的,而且得有一个方向,得有重点. 对于Android移动开发来说,热修 ...

  9. 日期上午下午怎么用date存_Java12都要出来了,你还在使用Date操作日期吗?

    Java12都要出来了,你还在使用Date操作日期吗? 如果你想要用Date表示Java8的发布日期(2014年3月18日),需要创建这样的Date实例: Date date = new Date(1 ...

  10. win7下,使用锐捷出现“未能找到网卡或系统还未完成网卡初始化操作问题解决

    随波逐流,我也装上了win7 7100版,是远景的7100RC完美典藏版,但装上之后锐捷的3.63认证就让我吃了苦头,老是提示:"未能找到网卡或系统还未完成网卡初始化操作,请稍后再尝试认证& ...

最新文章

  1. 2.Linux磁盘,文件系统管理--创建文件系统
  2. 自编码clone图解
  3. IE浏览器Cookie信息提取工具Galleta
  4. rsync定时加脚本实现本地到阿里的ftp文件同步
  5. Unity,WebGL, 页面JS调用Unity方法
  6. 利用Swift语言特性,随手写个伪随机数生成器
  7. “未能加载文件或程序集“EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”...
  8. [转]让.NET应用秒变微服务
  9. UI设计师必备的网站推荐
  10. 图文并茂!60页PPT《快速入门python学习路线》学不会你找我
  11. Sniffer和网络执法官软件助你维护网络
  12. 阿里云服务器常用配置价格表
  13. 8脚 tja1050t_CAN总线通信硬件原理图(采用TJA1050T CAN总线驱
  14. 从头构建自己的Linux系统
  15. python的super super easy教程 | 类
  16. Arduino制作一个人体感应灯
  17. 五, Hive-数据的导入和导出
  18. mac下PHP安装mongodb的扩展
  19. On Die Termination (ODT) DDR
  20. 网络流24题-太空飞行计划

热门文章

  1. Linux服务之cobbler批量部署篇
  2. 2019夏软工暑期随笔3
  3. JS中的数组排序函数sort()
  4. 由swap引出的局部变量,形参和指针的小问题
  5. OpenWebFlow0.9用户手册与设计说明
  6. 翻译「C++ Rvalue References Explained」C++右值引用详解 Part3:右值引用
  7. Linux必学的60个命令【转载】
  8. 各种学习网站博客汇总(持续添加中。。。)
  9. URL提交之前对数据编码
  10. Ajax学习札记(前言)