Android studio GridLayout(網格布局)


1.相關屬性總結圖

2.使用實例:計算器布局的實現:

運行效果圖:

實現代碼:

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/GridLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:columnCount="4" android:orientation="horizontal" android:rowCount="6" > <TextView android:layout_columnSpan="4" android:layout_gravity="fill" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:background="#FFCCCC" android:text="0" android:textSize="50sp" /> <Button android:layout_columnSpan="2" android:layout_gravity="fill" android:text="回退" /> <Button android:layout_columnSpan="2" android:layout_gravity="fill" android:text="清空" /> <Button android:text="+" /> <Button android:text="1" /> <Button android:text="2" /> <Button android:text="3" /> <Button android:text="-" /> <Button android:text="4" /> <Button android:text="5" /> <Button android:text="6" /> <Button android:text="*" /> <Button android:text="7" /> <Button android:text="8" /> <Button android:text="9" /> <Button android:text="/" /> <Button android:layout_width="wrap_content" android:text="." /> <Button android:text="0" /> <Button android:text="=" /> </GridLayout>

代碼解析: 代碼很簡單,只是回退與清楚按鈕橫跨兩列,而其他的都是直接添加的,默認每個組件都是 占一行一列,另外還有一點要注意的: 我們通過:android:layout_rowSpanandroid:layout_columnSpan設置了組件橫跨 多行或者多列的話,如果你要讓組件填滿橫越過的行或列的話,需要添加下面這個屬性: android:layout_gravity = "fill"!!!就像這個計算機顯示數字的部分!

3.用法歸納:

①GridLayout使用虛細線將布局划分為行,列和單元格,同時也支持在行,列上進行交錯排列 ②使用流程:

  • step 1:先定義組件的對其方式 android:orientation 水平或者豎直,設置多少行與多少列
  • step 2:設置組件所在的行或者列,記得是從0開始算的,不設置默認每個組件占一行一列
  • step 3:設置組件橫跨幾行或者幾列;設置完畢后,需要在設置一個填充:android:layout_gravity = "fill"

4.使用GridLayout要注意的地方:

因為GirdLayout是4.0后才推出的,所以minSDK版本要改為14或者以上的版本, 不然寫布局代碼的時候,這玩意就會莫名其妙地出錯,說找不到這個GridLayout, 當然,如果你要低版本兼容的話,就要看下面的內容了!

5.低版本sdk如何使用GridLayout:

解決方法很簡單:只需要導入v7包的gridlayout包即可! v7包一般在sdk下的:sdk\extras\android\support\v7\gridlayout目錄下 如果你沒有的話,也可以到這里下載: gridlayout_v7_jay.rar 但是用的時候,標簽卻是這樣寫的:

<android.support.v7.widget.GridLayout>`


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM