QMUI Android(官网) 终于发布了,今天趁热打铁,来聊一聊 QMUI Android 开发背后的一些点滴。
关于源码学习
在 Android 里,写 UI 控件基本上是入门的第一步,Android 官方为我们提供了大量的控件,写一些简单的 UI 还是蛮轻松的一件事情,可是要写好 UI 也不是一件容易的事情。说实话,Android 提供的接口这特么的不好用,很多接口都不能很清楚的表达其含义。很多时候都需要你读过源码,梳理过其逻辑,你才会知道其含义,只有读过源码,你才会知道 Android 很多隐藏的而又非常厉害的 API,你才能在实现 UI 特效时信手拈来。
我们在Android UI学习时,一定要做到深入了解其实现机制,否则会四处碰壁,举个例子,就拿沉浸式状态栏来说,市面上已经存在很多款其封装库,但如果你不了解其本质,这些库看上去再完美,你可能依旧无法实现设计师想要的效果,QMUI 也提供了沉浸式方案,简单情况一句代码就解决,复杂情况则需要配合 QMUIWindowInsetLayout 来处理,如果不懂其原理,估计用起来会很痛苦,可以读读我的这篇博文来掌握其原理。
再举另一个例子,我们可能需要像微博一样可以在内容区域加@人或者话题功能,Android 为我们提供了 ClickSpan 来解决 TextView 中这种点击行为。然而 ClickSpan 用起来并不简单,因为这涉及了一些列的知识点,包括 TextView 的事件传递、 ClickSpan、LinkMovementMethod的相互影响,使得使用者头疼不已,QMUI 封装了 QMUISpanT