湖南万树it学院官网
万树IT:Android基础之基本布局
更新时间:2017-10-13 10:14   来源:未知   浏览次数:  
  • 分享到:
    布局是ViewGroup的子类,负责管理内部子View的位置
    sdk4.0以前一共有五种布局,分别是LinearLayout (线性布局) 、RelativeLayout(相对布局) 、FrameLayout(帧布局) 、AbsoluteLayout(绝对布局)、TableLayout(表格布局) 。其中, AbsoluteLayout和TableLayout 已退出历史舞台。
    sdk4.0新增GridLayout
    sdk5.0新增一些符合Material Design风格的布局
    Google在2016年的I/O大会上推出的ConstraintLayout


  • FrameLayout(框架布局)

 

 

   此布局是五种布局中最简单的布局,Android中并没有对child view的摆布进行控制,这个布局中所有的控件都会默认出现在视图的左上角,我们可以使用android:layout_marginandroid:layout_gravity等属性去控制子控件相对布局的位置。
    FrameLayout概述
        FrameLayout 帧布局,除了设置背景之外,还可以设置前景
 
    FrameLayout常用属性
        android:foreground - 设置该帧布局容器的前景图像
        android:foregroundGravity - 定义前景图的位置属性

  • 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**对其子元素展
  LinearLayout概述
 
  LinearLayout线性布局,控制其中的控件或组件横向或纵向排列。当控件排列到窗体边缘,后面的控件就被隐藏,而不会显示出来。
 
  LinearLayout常用属性
 
  android:orientation
 
  定义布局内控件的排列方式(方向),必填属性
 
  属性值
 
  horizontal-水平方向
 
  vertical-垂直方向
 
  android:gravity
 
  用来控制该控件内容物相对于控件的位置。可以使用在布局中,也可以使用在具体的View上,如TextView。
 
  属性值
 
  top、bottom、left、right、center、center_vertical、
 
  fill_vertical、fill等等。
 
  android:weightSum
 
  总权重
 
  属性值
 
  一个整数,将整个布局等分多少份
 
  LinearLayout子元素的特有属性
 
  android:layout_gravity
 
  子元素在LinearLayout中的对齐方式
 
  属性值
 
  top、bottom、left、right、center、center_vertical、
 
  center_horizontal、fill_vertical、fill等等。
 
  说明
 
  当垂直布局时只有水平方向的设置才起作用。即left,right,
 
  center_horizontal生效。
 
  当水平布局时只有垂直方向的设置才起作用。即top,
 
  bottom,center_vertical生效。
 
  android:layout_weight
 
  子元素在LinearLayout中所占的权重
 
  说明
 
  如果是水平方向设置权重,要将android:layout_width设置
 
  为0dp,如果是垂直方向上使用权重,要将
 
  android:layout_height设置为0dp。否则权重容易受到高度
 
  或宽度的干扰而出现偏差。
 

  • 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组成,其中TableRow代表一行,TableRow的每一个视图组件代表一个单元格。

 


    一些属性的解析:
        android:layout_gravity:是指该组件在父布局的显示位置
        android:gravity:是指该组件里面的元素在该组件的显示位置,比如Button里面的文字等
        android:padding:是指该view里面的内容与view边界的距离,例如Button里面的文字离Button控件边界的数值
        android:layout_margin:是指该view与其他view的周边距离
















  • 分享到:

联系我们

万树IT软件学院地图导航

如有问题,可在线提交表单

  • 提交后,我们的老师会及时为您回复

© 2017 www.wanshuit.com 湖南万树信息技术有限公司 版权所有 丨 备案号:湘ICP备16021152号

友情链接:湖南万树IT学院 sem软件 模特培训 重庆网站优化 万树XML地图 顺德网络公司 遴选 成都小程序 天津化妆培训 杭州翻译公司