android學習筆記(3)

五大布局

  1. LinearLayout 線性布局
  • android:orientation="vertical/horizontal" 子類控件排列方式
    <code>vertical</code> 垂直
    <code>horizontal</code> 水平
  • android:gravity="center/right/left..."子類控件位置
    <code>center_horizontal</code> 水平居中
    <code>center_vertical</code> 垂直居中
    可以同時設置多個屬性,如<code>bottom|center_horizontal</code>,設置子類控件位于底部的中央
  • 子控件可以通過設置<code>android:layout_orientation</code>或<code>android:layout_gravity</code>來控制位置
  • 子控件通過<code>android:layout_weight</code>來設置控件的占比。
    <code>android:layout_weight</code>真實含義是:一旦View設置了該屬性(假設有效的情況下),那么該 View的寬度等于原有寬度(<code>android:layout_width</code>)加上剩余空間的占比!

Google官方推薦,當使用weight屬性時,將width設為0dip即可,效果跟設成<code>wrap_content</code>是一樣的。這樣weight就可以理解為占比了!

  1. RelativeLayout 相對布局
全局屬性

  • <code>android:layout_alignParentLeft="true"</code> 子類控件相對當前父類容器靠左邊
  • <code>android:layout_alignParentTop="true"</code> 子類控件相對當前父類容器靠上邊
  • <code>android:layout_marginLeft="41dp"</code> 子類控件距離當前父類容器左邊的距離
  • <code>android:layout_marginTop="41dp"</code> 子類控件距離當前父類容器上邊的距離
  • <code>android:layout_centerInParent="true"</code> 子類控件相對當前父類容器水平垂直居中
  • <code>android:layout_centerHorizontal="true"</code> 子類控件相對當前父類容器水平居中
  • <code>android:layout_centerVertical="true"</code> 子類控件相對當前父類窗口垂直居中
子控件屬性

  • <code>android:layout_below="@+id/"</code> 該控件位于給定id控件的底部
  • <code>android:layout_toRightOf="@+id/"</code> 該控件位于給定id控件的右邊
  • <code>android:layout_above="@+id/"</code> 該控件位于給定id的上面
  • <code>android:layout_toLeftOf="@+id/"</code> 該控件位于給定id的左邊
  • <code>android:layout_alignBaseline="@+id/"</code> 該控件的內容與給定id控件的內容在一條線上
  • <code>android:layout_alignBottom/android:layout_alignLeft/android:layout_alignRight/android:layout_alignTop</code> 該控件的底部與給定id控件的[底部/左邊/右邊/頂部]邊緣對齊
  1. FrameLayout 幀布局
  2. AbsoluteLayout絕對布局
  • 又叫坐標布局,可以直接指定子控件的絕對位置(xy)
  • <code>android:layout_x/android:layout_y</code>
  1. TableLayout 表格布局
全局屬性

  • <code>TableLayout</code>以行列的形式管理子控件,每一行為一個TableRow對象,也可以是一個View對象
  • <code>android:collapseColumns="1,2"</code>隱藏從0開始的索引列,多列用逗號分隔
  • <code>android:shrinkColumns="1,2"</code>收縮從0開始的索引列
  • <code>android:stretchColumns="1,2"</code>拉伸從0開始的索引列,*表示所有列
子控件屬性

  • <code>android:layout_column</code> 第n列
  • <code>android:layout_span</code> 占據列寬
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容