1. 程式人生 > >Android開發學習1

Android開發學習1

佈局

1. 線性佈局(LinearLayout)

常用屬性:

  1. orientation:佈局中常用的排列方式有 horizontal,Vertical兩種方式
  2. gravity : 控制組件所包含的子元素的對齊方式,可多個組合,如(left | bottom)
  3. layout_gravity : 控制該元件在父容器裡的對齊方式
  4. layout_width : 佈局的寬度,通常不寫數字,用wrap_content(元件實際大小),fill_parent或者match_parent填滿父容器
    1. layout_height : 佈局的高度,引數如上
    2. Id: 為該元件設定一個資源id,在java檔案中可以通過findViewById(id)找到該元件。
    3. background : 為該元件設定一個背景圖片,或者直接用顏色覆蓋

Weight(權重):

  1. 該屬性是用來等比例的劃分區域
  2. 分誰,誰為0,weight按比例即可

Divider(分割線):

  1. 設定分割線圖片,通過showDividers來設定分隔線的所在位置,有四個可選值 none,middle,begining,end;
  2. divider:設定分隔線圖片
  3. dividerPadding:設定分隔線的padding

2. 相對佈局(RelativeLayout)

基本屬性

  1. gravity: 設定容器內元件的對齊方式
  2. ignoreGravity: 設定了該屬性為true的元件,將不受gravity屬性的影響

根據父容器定位

  1. layout_alighParentLeft : 左對齊
  2. layout_alighParentRight:右對齊
  3. layput_alighParentTop:頂部對齊
  4. layout_alighParentBottom:底部對齊
  5. layout_centerHorizontal:水平居中
  6. layout_centerVertical:垂直居中
  7. layout_centerInParent:中間位置

根據兄弟元件定位

  1. layout_toLeftOf: 參考元件的左邊
  2. layout_toRightOf:參考元件的右邊
  3. layout_above:參考元件的上方
  4. layout_below:參考元件的下方
  5. layout_alignBottom: 對齊參考元件的下邊界
  6. layout_alignTop: 對齊參考元件的上邊界
  7. layout_algnLeft:對齊參考元件的左邊界
  8. layout_alignRight:對齊參考元件的右邊界

margin(偏移) 設定元件與父容器的邊距

  1. layout_margin:設定元件上下左右的偏移量
  2. layout_marginLeft:設定元件離左邊的偏移量
  3. layout_marginRight:設定元件離右邊的偏移量
  4. layout_marginTop:設定元件離上面的偏移量
  5. layout_marginButtom:設定元件離下面的偏移量

padding(填充) 設定元件內部元素間的邊距(Textview裡的字型位置)

  1. padding: 往內部元素的上下左右填充一定的邊距
  2. paddingLeft:往內部元素的左邊填充一定的邊距
  3. paddingRight:往內部元素的右邊填充一定的邊距
  4. paddingTop:往內部元素的上方填充一定的邊距
  5. paddingBottom:往內部元素的下方填充一定的邊距

3. 表格佈局(TableLayout)

  1. collapseColumns 隱藏列
  2. stretchColumns 拉伸列
  3. shrinkColumns(收縮列)
  4. 如果我們直接往TableLayout中新增元件的話,那麼這個元件將佔滿一行!
  5. 如果我們想一行上有多個元件的話,就要新增一個TableRow的容器,把元件都丟到裡面!
  6. tablerow中的元件個數就決定了該行有多少列,而列的寬度由該列中最寬的單元格決定
  7. tablerow的layout_width屬性,預設是fill_parent的,我們自己設定成其他的值也不會生效!!! 但是layout_height預設是wrapten——content的,我們卻可以自己設定大小!
  8. 整個表格佈局的寬度取決於父容器的寬度(佔滿父容器本身)
  9. 有多少行就要自己數啦,一個tablerow一行,一個單獨的元件也一行!多少列則是看tableRow中 的元件個數,元件最多的就是TableLayout的列數
  10. android:collapseColumns:設定需要被隱藏的列的序號
    android:shrinkColumns:設定允許被收縮的列的列序號
    android:stretchColumns:設定執行被拉伸的列的列序號
    以上這三個屬性的列號都是從0開始算的,比如shrinkColunmns = “2”,對應的是第三列!
    可以設定多個,用逗號隔開比如”0,2”,如果是所有列都生效,則用”*”號即可
    除了這三個常用屬性,還有兩個屬性,分別就是跳格子以及合併單元格,這和HTML中的Table類似:
    android:layout_column=”2”:表示的就是跳過第二個,直接顯示到第三個格子處,從1開始算的!
    android:layout_span=”4”:表示合併4個單元格,也就說這個元件佔4個單元格
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/TableLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:stretchColumns="0,3"
    android:gravity="center_vertical"
    android:background="#FF0FF0"
    >

    <TableRow>
        <TextView />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="使用者名稱:"/>
        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:minWidth="150dp"/>
        <TextView />
    </TableRow>

    <TableRow>
        <TextView />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="密  碼:"
            />
        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:minWidth="150dp"
            />
        <TextView />
    </TableRow>

    <TableRow>
        <TextView />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="登陸"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="退出"/>
        <TextView />
    </TableRow>

</TableLayout>

4. 幀佈局(用的不多)(FrameLayout)

  1. foreground: 設定改幀佈局容器的前景影象
  2. foregroundGravity: 設定前景影象顯示的位置
    android:foreground="@drawable/logo"    
    android:foregroundGravity="right|bottom">

5. 網格佈局(GridLayout)

設定對齊方式

  1. 設定排列方式 android:orientation=”” vertical(豎直,預設)或者 horizontal(水平)
  2. 設定對齊方式 android:layout_gravity=”” center,left,right,bottom,,,,,,,bottom|left

設定幾行幾列

  1. 設定行數 android:rowCount=”4” //設定網路佈局有4行
  2. 設定列數 android:columnCount=”4” //設定網格佈局有4列

設定元件所在的行列(從0開始計算的哦)

1.第幾行 android:layout_row=”1” //設定元件位於第二行
2. 第幾列 android:layout_column=”2” //設定該元件位於第三列

設定元件橫跨幾行幾列

  1. 橫跨幾行:android:layout_rowSpan=”2” //縱向橫跨2行
  2. 橫跨幾列 android:layout_columnSpan=”3”//橫向縱跨3列

6. 絕對佈局(AbsoluteLayout)直接拖動控制元件