Android布局

【声明:】本文是作者(蘑菇v5)原创,版权归作者 蘑菇v5所有,侵权必究。本文首发在简书。如若转发,请注明作者和来源地址!未经授权,严禁私自转载!


五种布局: FrameLayout 、 LinearLayout 、 AbsoluteLayout 、 RelativeLayout 、 TableLayout 全都继承自ViewGroup,各自特点及绘制效率对比。

FrameLayout(框架布局)

此布局是五种布局中最简单的布局,Android中并没有对child view的摆布进行控制,这个布局中所有的控件都会默认出现在视图的左上角,我们可以使用android:layout_margin,android:layout_gravity等属性去控制子控件相对布局的位置。

LinearLayout(线性布局)

一行(或一列)只控制一个控件的线性布局,所以当有很多控件需要在一个界面中列出时,可以用LinearLayout布局。 此布局有一个需要格外注意的属性:android:orientation=“horizontal|vertical。

当android:orientation="horizontal时,说明你希望将水平方向的布局交给LinearLayout*,其子元素的android:layout_gravity="right|left"等控制水平方向的gravity值都是被忽略的,此时LinearLayout中的子元素都是默认的按照水平从左向右来排*,我们可以用android:layout_gravity="top|bottom"等gravity值来控制垂直展示。

反之,可以知道 当android:orientation="vertical时,LinearLayout对其子元素展示上的的处理方式。

AbsoluteLayout(绝对布局)

可以放置多个控件,并且可以自己定义控件的x,y位置

RelativeLayout(相对布局)

这个布局也是相对自由的布局,Android 对该布局的child view的 水平layout& 垂直layout做了解析,由此我们可以FrameLayout的基础上使用标签或者Java代码对垂直方向 以及 水平方向 布局中的views进行任意的控制.

相关属性:

android:layout_centerInParent="true|false"

android:layout_centerHorizontal="true|false"

android:layout_alignParentRight="true|false"

TableLayout(表格布局)

将子元素的位置分配到行或列中,一个TableLayout由许多的TableRow组成

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 看了几篇文章以及自己写了一些,关于布局的问题,根据别人的写作总结一下得到 一.基本理论Android六大基本布局分...
    shuaikun阅读 837评论 0 4
  • 概念 布局:界面控件摆放位置的确定。 所有的布局都继承ViewGroup 在Android4.0以前一共有五种布局...
    professorLP阅读 796评论 0 1
  • 布局管理器可以管理安卓应用界面里的各种组件,根据运行平台管理组件的大小位置所有布局管理器都是ViewGrop的子类...
    CrazyBoomer阅读 3,402评论 0 2
  • RelativeLayout 第一类:属性值为true可false android:layout_centerHr...
    兀兀沙弥阅读 3,063评论 0 15
  • 像海浪撞过了山丘以后还能撑多久他可能只为你赞美一句后往回流那娇艳的花盛开后等你来能撑多久还是被诗人折断了伤心了换歌...
    Gakki的伍记阅读 388评论 0 0