Android第七天

五大布局
一、Linear Layout線性佈局
 1.Linear Layout是線性佈局,它包含的子控件將以橫向或豎向排布
 2.常用屬性
  1)android:orientaion=”vertical”—該屬性決定他子類控件的排布方式
  vertical—垂直;
  horizontal—水平;
  
  2)android:gravity=”center”—該屬性決定他子類的xy位置
  center—水平垂直都居中
  center_vertical—垂直居中
  center_horizontal—水平居中
  right—子類控件位於當前佈局的右邊
  left—子類控件位於當前佈局的左邊
  bottom—子類控件位於當前佈局的下面
 3.子類控件在Linear Layout中的常用屬性
  1)android:layout_gravity=”bottom”—指本身在當前父容器的xy的一個位置
  2)android:layout_weight=”1”—指本身控件佔當前父容器的一個權重
  注:這裏當android:layout_height爲wrap_content時是正比;爲match_parent時是反比
二、Relative Layout相對佈局
 1.子類控件在Relative Layout中常用的屬性
 android:layout_alignParentLeft=”true”子類控件相對當前父類容器靠左邊

 android:layout_alignParentTop=”true”子類控件相對當前父類容器靠上邊

 android:layout_marginLeft=”40dp”子類控件相對當前父類容器左邊的距離
 android:layout_marginTop=”30dp”子類控件相對當前父類容器上邊的距離

 android:layout_centerInParent=”true”子類控件相對當前父類容器即水平居中又垂直居中

 android:layout_centerHorlzontal=”true”子類控件相對當前父類容器水平居中

 android:layout_centerVertical=”true”子類控件相對當前父類容器垂直居中

 顯示效果

 此處Button5無法正常顯示,僅在預覽界面時可看到位於Relative Layout左上角,原因不明,求大佬解釋
 2.子類控件相對於子類控件的位置屬性
 android:layout_below=”@+id/button”該控件位於給定id控件的底部
 android:layout_toRightOf=”@+id/button”該控件位於給定id控件的右邊
 android:layout_above=”@+id/button”該控件位於給定id控件的上面
 android:layout_toLeftOf=”@+id/button”該控件位於給定id控件的左邊
 android:layout_alignBaseline=”@+id/button”該控件與給定id控件的內容在一條線上
 android:layout_alignBottom=”@+id/button”該控件的底部邊緣與給定id控件的底部邊緣對齊
 android:layout_alignLeft=”@+id/button”該控件的左部邊緣與給定id控件的左部邊緣對齊
 android:layout_alignRight=”@+id/button”該控件的右部邊緣與給定id控件的右部邊緣對齊
 android:layout_alignTop=”@+id/button”該控件的頂部邊緣與給定id控件的頂部邊緣對齊
 顯示效果(有多個Button相互疊加)

三、Frame Layout幀佈局
 1.所有子元素都不能放在指定的位置,它們全部放在左上角後面的子元素直接覆蓋在前面的子元素之上,將前面的子元素部分或全部遮擋
 2.實例

<FrameLayout>
    <TextView
        android:id="@+id/textView1"
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:layout_gravity="center"
        android:background="#EE7AE9"
        android:text="第一層"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="250dp"
        android:layout_height="250dp"
        android:layout_gravity="center"
        android:background="#9B30FF"
        android:text="第二層"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_gravity="center"
        android:background="#1C86EE"
        android:text="第三層"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_gravity="center"
        android:background="#00EE00"
        android:text="第四層"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp" />
</FrameLayout>

顯示效果

四、Absolute Layout絕對佈局
 1.Absotute Layout可以直接指定子元素的絕對位置(xy)
 2.無法適配屏幕,基本沒用
 3.屬性
  android:layout_x=”40dip”
  android:layout_y=”40dip”
五、Table Layout表格佈局
 1.Table Layout每一行爲一個TableRow的對象,也可以是一個View的對象
 2.全局屬性
 android:collapseColumns=”n”—隱藏從0開始的第n列,多列之間用逗號隔開

android:collapseColumns="1"

這裏寫圖片描述
 android:skinkColumns=”n”—收縮從0開始的第n列,多列之間用逗號隔開,可用“*”代替所有列

android:skinkColumns="3"

這裏寫圖片描述
 android:stretchColumns=”n”—拉伸從0開始的第n列,多列之間用逗號隔開,可用“*”代替所有列

android:stretchColumns="2"

這裏寫圖片描述
 3.局部屬性
 android:layout_column=”1”—該控件顯示在第2列
這裏寫圖片描述
這裏寫圖片描述
 android:layout_span=”2”—該控件佔據第2列
這裏寫圖片描述
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章