android常用的三大控件为FrameLayout、LinearLayout、RelativeLayout。
本文从基本作用、效率、常用场景几方面来分析这三种布局。
FrameLayout翻译过来叫帧布局,它是三者中间最简单的布局,基本就是实现一个容器的作用。它的子view之间可以认为没有相互关系(除了布局的先后会导致相互遮罩),只能通过marginXX、layout_gravity等属性来修改本身相对于FrameLayout的相对位置。
LinearLayout叫线性布局,通过orientation属性能够设置布局方向。orientation=”vertical“代表对子view是采用从上到下的方式进行摆放,horizontal则是从左到右。
RelativeLayout相对布局,它最大的最大的优势是可以设置子view之间的相对位置关系,让整体的UI通过这种关系限制自动摆放。
要分析各种布局的效率,就得先说androidUI的整个绘制流程。待完善。。。
简单来说、FrameLayout>LinearLaout>RelativeLayout,所以在使用的时候,如果碰到UI卡顿需要优化的情况,可以将布局简单化。如使用RelativeLayout布局titleBar和contentView,如果titleBar的高度是固定的,可以替换成FrameLayout,然后contentView的marginTop为这个高度。