查看原文
其他

跟着玩 Android 起飞!

鸿洋 鸿洋 2020-10-29
玩 Android 一直更新着问答版本,每隔一段时间,我会给大家更新一波推送一波问答。


多数问题,可能是对你有帮助的。
由于答案涉及到多人回答,我就不再贴答案了,而且我贴出来的问题,一定是答案区有我满意的答案啦。
大家也可以参与,PC 阅读体验应该更好一些。
微信由于链接无法点击,我给每个问题下面放了个二维码,可以扫码查看。
1.  butterknife 中真的没有反射吗?
很多时候,大家在讲解butterknife原理的时候,很多时候会跟别的 ioc 库做对比,会说:


“butterknife性能更好,基于编译时注解,不需要反射


那么,今天的问题是:
  1. butterknife 的原理是?

  2. butterknife 中有用到反射吗?

  3. 如果用到,在哪里用到?



https://www.wanandroid.com/wenda/show/10427


2. Kotlin 中不需要写“ ; ”,但是有个场景意外?

如题,在 Kotlin 中,基本上不需要用到“;”,哪个场景下必须要用“;”,为什么?



https://wanandroid.com/wenda/show/10243


3. Kotlin中怎么给系统中的类,动态添加的方法?


Kotlin 中有个比较吸引人的特性就是:扩展方法。


可以不修改类代码的情况下,动态为类添加方法。


类似可以实现:


12.dp() // 用于将整形px 转化为 dp值,dp()是动态添加的方法。


那么问题来了:


  1. 它是怎么做到的?

  2. 可以利用这个特性“覆盖”掉某个类的已有方法吗?

  3. 这个特性有什么约束?



https://www.wanandroid.com/wenda/show/10354


4. 控件不都是矩形么?遇到多边形,这个怎么绘制,事件分发怎么处理嘞?


大家对于自定义控件应该都比较熟悉了。


我们接触的99%的控件都是矩形,那么假设我们有一个需求:


是由很多不规则的按钮,拼成的整个页面。


  1. 你该如何绘制呢?

  2. 另外如何保证事件分发符合用户预期呢?(一个不规则按钮区域只响应目标按钮)



https://wanandroid.com/wenda/show/10174


5. 你那么多手指在触摸屏幕,你叫我怎么选?


在早期,非常多博客在讲解和控件交互的时候,只会关注:


ACTION_DOWN 
ACTION_MOVE 
ACTION_UP
ACTION_CANCEL


这样的控件在一个手指交互的时候基本没有问题,但是一旦两个手指甚至多指操作,一个支持上下滑动的控件就会有跳跃感。


那么今天的问题是:


  1. 支持多个手指以上的操作,还应该关注哪些事件?

  2. Google 官方的控件,比如 ScrollView,ViewPager 这些都是支持多指操作的,那么多个手指时,如何判断哪一个是 active pointer(需要考虑一个接一个按下;一个接一个抬起)。

  3. 一个未支持多指的控件,如何快速的支持?



https://www.wanandroid.com/wenda/show/10049


下期见。


为了让你们学习,我也是操碎了心,如果遇到二维码打不开什么的,稍安勿躁,可能你们已经把服务器干崩了,自行思考下这些问题吧,稍等流量下来可以自己去网站查看哈。

后面有时间开发个小程序用来看问答,这样嵌入文章,感觉更合适一些。

最后问答不要催更,出题太难啦!


推荐阅读

滴滴的 “哆啦A梦” DoKit 背后的技术实现 1

千万级别的app中验证过,5分钟让你的 SDK 拥有热修复能力

终于找到一篇极佳的 NDK 入门文章



扫一扫 关注我的公众号
如果你想要跟大家分享你的文章,欢迎投稿~


┏(^0^)┛明天见!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存