Android布局之-LinearLayout(线性布局一)

时间:2021-04-16 05:26:01

我使用的是: Android Studio 2.3.3版本的。

由于AS默认布局方式是: ConstraintLayout( 扁平化布局)

    1.File-->New-->XML-->Layout XML File 就可以新建LinearLayout布局了

   android:orientation="horizontal" (水平布局)   android:orientation="vertical" (垂直布局)  

Android布局之-LinearLayout(线性布局一)

 

 

    2.layout_weight 是Android线性布局中的权重表示方式,一定程度上用来表示子布局所占父布局的比重。

  若C-child表示子布局声明的大小,B-blank表示剩余布局的大小,P-percent表示子布局占据父布局剩余布局的比例,则子布局最终的实际大小R-reality为:R = C + B * P

    (1).android:layout_width/android:layout_height  设置为 wrap_content布局呈现如下形式:

  Android布局之-LinearLayout(线性布局一)

    (2).android:layout_width/android:layout_height  设置为match_parent布局呈现如下形式:

  Android布局之-LinearLayout(线性布局一)

 

  2.****注: 若新增RelativeLayout(相对布局)  

    进入Android Sudio安装目录   \plugins\android\lib\templates\activities\common\root\res\layout\simple.xml.ftl (可备份一份)

    按下图 将 android.support.constraint.ConstraintLayoutt 替换成 RelativeLayout

          ********其他类型布局可用类似方法修改

Android布局之-LinearLayout(线性布局一)

 

    

    (1).子类控件相对子类控件:值是另外一个控件的id      

        android:layout_above----------位于给定控件之上     android:layout_below ----------位于给定控件之下

        android:layout_toLeftOf -------位于给定控件左边     android:layout_toRightOf ------位于给定控件右边

Android布局之-LinearLayout(线性布局一)

      android:layout_alignLeft -------左边与给定ID控件的左边对齐   android:layout_alignRight ------右边与给定ID控件的右边对齐

      android:layout_alignTop -------上边与给定ID控件的上边对齐   android:layout_alignBottom ----底边与给定ID控件的底边对齐

      android:layout_alignBaseline----对齐到控件基准线

    (2).相对父容器

      android:layout_alignParentLeft="true" ------相对于父靠左
      android:layout_alignParentTop="true"-------相对于父靠上
      android:layout_alignParentRight="true"------相对于父靠右
      android:layout_alignParentBottom="true" ---相对于父靠下

      android:layout_centerInParent="true" -------相对于父即垂直又水平居中
      android:layout_centerHorizontal="true" -----相对于父即水平居中
      android:layout_centerVertical="true" --------相对于父即处置居中

                     下图android:layout_alignParentLeft="true" 与android:layout_alignParentTop="true" 在同一位置 

Android布局之-LinearLayout(线性布局一)

 

 

      

      (3)相对于父容器位置:

        android:layout_margin="10dp"        android:layout_marginLeft="10dp"

        android:layout_marginRight ="10dp"         android:layout_marginTop="10dp"       android:layout_marginBottom="10dp"

Android布局之-LinearLayout(线性布局一)

 

  

     (4)新特性

        android:layout_alignStart---------------------将控件对齐给定控件的头部
        android:layout_alignEnd----------------------将控件对齐给定控件的尾部
        android:layout_alignParentStart--------------将控件对齐到父控件的头部
        android:layout_alignParentEnd---------------将控件对齐到父控件的尾部

 

  3.FrameLayout(帧布局)

      后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡(具体是遮挡部分还是全部,就得看上面的布局比起下面的布局,大小问题了)。

    Android布局之-LinearLayout(线性布局一)