美文网首页Android知识
Android线性布局

Android线性布局

作者: _咸鱼木 | 来源:发表于2017-12-18 20:07 被阅读0次
    图片.png

    1. 什么是Layout?

    Layout——界面布局,为应用程序提供界面架构。控制Activity中控件的大小、位置、颜色等属性的方法.

    • Layout与ViewGroup的关系:
    图片.png
    • ViewGroup是一个容器,继承自View.
    • ViewGroup是Layout和一些其它组件的基类.
    • 布局的种类:

    LinearLayout 、RelativeLayout:


    图片.png

    List View 、Gird View:


    图片.png
    • 布局的实现方式:
    1. 通过XML布局文件实现控件布局.
    2. 通过Java / Kotlin代码实现控件布局.
    • 编写布局文件:
    1. 每一个布局文件有且仅有一个根标签(元素),必须为View或ViewGroup对象.
    2. 在根标签下添加子元素,并逐渐建立一个控件的层次来定义Layout.


    2. LinearLayout:

    线性布局(LinearLayout)是程序中最常见的一种布局方式,分为水平(horizontal)线性布局和垂直(vertical)线性布局两种,通过 Android:orientation 属性可以设置线性布局的方向。

    线性布局的特点:各个子元素之间彼此连接,中间不留空白.

    在线性布局中,有几个非常重要的属性,直接决定了元素的布局和位置,这几个属性是:

    orientation:

    android:orientation (线性布局以列或行来显示内部子元素).
    android:orientation="vertical" 时, 只有水平方向的设置才起作用,垂直方向的设置不起作用.即:left,right,center_horizontal 是生效的.
    android:orientation="horizontal" 时, 只有垂直方向的设置才起作用,水平方向的设置不起作用.即:top,bottom,center_vertical 是生效的.


    gravity:

    android:layout_gravity是本(子)元素相对于父元素的对齐方式设置在子元素上.
    android:gravity="bottom|right"是本(父)元素所有子元素的对齐方式,设置在父元素上,多个值用 | 隔开.


    padding && margin:

    android:padding="10dp" (是本元素所有子元素的与父元素边缘的距离,设置在父元素上).
    android:layout_marginLeft="10dp"(子元素与父元素边缘的距离,设置在子元素上).


    weight:

    android:layout_weight ="1"(线性布局内子元素对未占用空间【水平或垂直】分配权重值,其值越小,权重越大.
    前提是子元素设置了android:layout_width = "match_parent" 属性 ( 水平方向 )或 android:layout_height = "match_parent"属性( 垂直方向).
    如 果 某 个 子 元 素的android:layout_width = "wrap_content"android:layout_height=" wrap_content” ,则 android:layout_weight 的设置值 对该方向上空间的分配则刚好相反

    相关文章

      网友评论

        本文标题:Android线性布局

        本文链接:https://www.haomeiwen.com/subject/jeomwxtx.html