Android--(9)--詳解網格佈局(GridLayout)
阿新 • • 發佈:2019-01-31
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>