Android--(9)--詳解網格佈局(GridLayout)

GridLayout佈局特點:將整個屏幕分成行*列的形式,每個網格上放一個組件;
在往網格中放置控件的時候, 會自動按照水平或垂直方向添加。
幾個常用屬性
android:rowCount=”5”         設置行數
android:columnCount=”4”   設置列數
android:orientation=”horizontal” 設置添加方向
//———————以上三個屬性是要在GridLayout標籤中添加的————————-
android:layout_rowSpan=”2”       設置佔幾行
android:layout_columnSpan=”2” 設置佔幾列
android:layout_gravity=”fill”       以上兩個屬性要顯示效果需要設置layout_gravity屬性值爲fill

實例:實現一個簡易的計算器界面:
計算機界面

佈局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.gridlayoutdemo.MainActivity" >

    <EditText
        android:id="@+id/text"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:gravity="right" />

    <GridLayout
        android:layout_width="wrap_content"//聲明長和寬均爲包裹網格本身,若爲match_parent則會在合併時出現小問題
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:columnCount="4" //必須添加的行和列信息
        android:rowCount="5" 
        android:orientation="horizontal"//註明排列方向;
        >

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="1" />

        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="2" />

        <Button
             android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="3" />

        <Button
             android:id="@+id/buttonadd"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="+" />

        <Button
            android:id="@+id/button4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="4" />

        <Button
             android:id="@+id/button5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="5" />

        <Button
             android:id="@+id/button6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="6" />

        <Button
              android:id="@+id/buttondown"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="-" />

        <Button
             android:id="@+id/button7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="7" />
        <Button
            android:id="@+id/button8"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="8" />
         <Button
             android:id="@+id/button9"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="9" />
         <Button
             android:id="@+id/buttonelim"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="/" />
         <Button
             android:id="@+id/button0"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnSpan="2"
            android:layout_gravity="fill"
            android:text="0" />
         <Button
             android:id="@+id/buttongrade"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="=" />
          <Button
             android:id="@+id/buttonride"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_rowSpan="2"
            android:layout_gravity="fill"
            android:text="*" />
         <Button
             android:id="@+id/buttonce"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_columnSpan="3"
            android:layout_gravity="fill"
            android:text="CE" />
    </GridLayout>
</LinearLayout>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章