1. 程式人生 > >Android--(9)--詳解網格佈局(GridLayout)

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>