Android基础之五大布局,属性设置大全

RelativeLayout主要特点:为某一个组件为参照物,来定位下一个组件的位置的布局方式

前言

在进行Android开发中,常常需要用到各种布局来进行UI的绘制,今天我们就来讲下Android开发中最常用的五大布局介绍和相关属性的设置。

LinearLayout主要特点:可以指定布局的排列方式:horizontal、vertical,默认是水平; android:layout_weight="1",这个weight是指父布局剩余的空间的比重,在垂直布局时,代表行距;水平布局时代表列宽;weight值越大就越大。

目录

图片 1

Android五大布局介绍&属性设置.jpg

FrameLayout主要特点:下个子View会重复覆盖上个子View

一、布局介绍

在Android中,共有五种布局方式,分别是:

  • FrameLayout(框架布局)
  • LinearLayout(线性布局)
  • AbsoluteLayout(绝对布局)
  • RelativeLayout(相对布局)
  • TableLayout(表格布局)

1. FrameLayout框架布局

  • 布局特点:放入其中的所有元素都被放置在最左上的区域,而且无法为这些元素指定一个确切的位置,下一个子元素会重叠覆盖上一个子元素
  • 应用场景:适合浏览单张图片。

2. LinearLayout线性布局

  • 布局特点:放主要提供控件水平或者垂直排列的模型,每个子组件
    都是以垂直或水平的方式来线性排布.(默认是垂直)
  • 应用场景:最常用的布局方式

    linearLayout中有一个重要的属性 android:layout_weight="1",这个weight在垂直布局时,代表行距;水平的时候代表列宽;weight值越大就越大。

3. AbsoluteLayout绝对定位布局

  • 布局特点:采用坐标轴的方式定位组件,左上角是(0,0)点,往右x轴递增,往下Y轴递增,组件定位属性为android:layout_x和 android:layout_y来确定坐标。
  • 应用场景:准确定位空间位置

    由于Android手机的屏幕尺寸、分辨率存在较大差异,使用AbsoluteLayout无法兼顾适配问题,所以该布局已经过时

4. RelativeLayout相对布局

  • 布局特点:为某一个组件为参照物,来定位下一个组件的位置的布局方式。
  • 应用场景:控件之间存在相应关系(适配神器,推荐使用)

5. TableLayout表格布局

  • 布局特点:类似Html里的Table.使用TableRow来布局,其中TableRow代表一行,TableRow的每一个视图组件代表一个单元格。
  • 应用场景:控件之间存在相应关系。

这五个布局元素可以相互嵌套应用,做出美观的界面。

AbsoluteLayout主要特点:采用坐标轴的方式定位组件(谷歌官方已不建议使用)

二、布局属性配置

Android布局里XML的属性配置

TableLayout主要特点:此外还有几个将子元素的位置分配到行或列中,一个TableLayout由许多的TableRow组成,其中TableRow代表一行,TableRow的每一个视图组件代表一个单元格。

1. 五种Layout中Item的基础属性:

  • layout_width & layout_height
  • layout_margin+方位 & padding+方位
  • layout_gravity & gravity

Android五种布局都具备上述几个基础属性

1. layout_width & layout_height

  • 作用:设置Layout中组件的宽度和高度
  • 取值:
    a. 固定的像素值

    android:layout_width="66px"
    

    b. "wrap_content"
    相应视图的宽和高就会被设定成所需的最小尺寸以适应视图中的内容

    android:layout_width="wrap_content"
    

    c. “match_parent"(在Android API 8之前叫作"fill_parent")
    视图的宽和高延伸至充满整个父布局

    android:layout_width="match_parent"
    

2. layout_margin+方位/padding+方位

  • 作用:设置放入Layout中的View与Layout的边界或者其他View之间能够相距一段距离
作者:Carson_Ho
链接:http://www.jianshu.com/p/4fac6304d872
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

比较常见的布局还有:CoordinatorLayout:协调内部的各个子控件进行交互,通过设置子控件的behavior来操控子控件的一些操作和动画,5.0系统引进的Material Design其中的一种新型控件顺便提一下MD还有哪些新的控件和变化:MD动画和activity转场动画,调色板Palette,RecyclerView,CardView,Toolbar,TextInputLayout,FloatingActionButton,SnackBar,NavigationView,DrawerLayout,TabLayout,CoordinatorLayout,CollapsingToolbarLayout等等

ConstraintLayout:新出的一种布局方式,有望取代其他布局建议参考文章: 'com.android.support:percent:25.1.0'),需要编译版本 23以上支持的属性有:app:layout_heightPercentapp:layout_widthPercentapp:layout_marginPercentapp:layout_marginTopPercentapp:layout_marginBottomPercentapp:layout_marginLeftPercentapp:layout_marginRightPercentapp:layout_marginStartPercentapp:layout_marginEndPercentapp:layout_aspectRatio

本文由华夏彩票发布于编程应用,转载请注明出处:Android基础之五大布局,属性设置大全

您可能还会对下面的文章感兴趣: