当前位置 > 首页 > 数学与算法 > Chat
线性布局和相对布局的实现原理
Android 中常用的布局有:LinearLayout,RelativeLayout,Fragment,其中 LinearLayou t和 RelativeLayout 的最为常用。在面试中,关于布局优化方面 LinearLayout 和 RelativeLayout 的实现原理已经成为必问问题,那么 LinearLayout 的线性布局特性,和 RelativeLayout 的灵活特性是如何实现的呢? 目前几乎在网络分享的所有的相关文章都只是贴出关键代码,简述大概流程,被问到细节,我们还是不知所措。本篇 Chat 将十分详尽,不漏掉一句的代码的分析两者的 onMeasure 和 onLayout过程,通过学习我们将弄懂以下知识点: 1. LinearLayout 的 Weight 是如何实现的? 2. LinearLayout 的 Weight 对于测量过程增加了哪些实现成本? 3. LinearLayout 的 Weight真的会导致需要测量两次吗? 4. RelativeLayout 的 Measure 过程为什么会有两次? 5. RelativeLayout 的 Padding 和 Margin 对于居中属性为什么没有影响? 6. RelativeLayout 在版本4.2和4.4做了哪些调整和适配? 本篇 Chat 适合已经有一定的 Android 开发经验,能够熟练使用 LinearLayout 和 RelativeLayout 的朋友。 了解了 LinearLayout 和 RelativeLayout 实现原理,在今后的使用中我们会避免出现兼容问题,有助于分析在不同情况下使用哪种布局更为合理,在面试中遇到相关问题也会得心应手。 相信阅读完本 Chat,一定会让你对于 LinearLayout 和 RelativeLayout 的了解有新的收获。
珠穆朗玛 · 高级安卓开发工程师
63
微信扫描登录