一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

GridLayout(網(wǎng)格布局)

 水與火604 2016-01-25

前言:

作為android 4.0 后新增的一個(gè)布局,與前面介紹過(guò)的TableLayout(表格布局)其實(shí)有點(diǎn)大同小異;

不過(guò)新增了一些東東

①跟LinearLayout(線性布局)一樣,他可以設(shè)置容器中組件的對(duì)齊方式

②容器中的組件可以跨多行也可以跨多列(相比TableLayout直接放組件,占一行相比較)

因?yàn)槭莂ndroid 4.0新增的,API Level 14,在這個(gè)版本以前的sdk

都需要導(dǎo)入項(xiàng)目,等下會(huì)詳細(xì)介紹


常用屬性:

排列對(duì)齊:

①設(shè)置組件的排列方式:  android:orientation=""     vertical(豎直,默認(rèn))或者h(yuǎn)orizontal(水平)

②設(shè)置組件的對(duì)齊方式:  android:layout_gravity=""  center,left,right,buttom啊,這些,如果想同時(shí)用兩種的話:eg: buttom|left


設(shè)置布局為幾行幾列:

①設(shè)置有多少行:android:rowCount="4"       //設(shè)置網(wǎng)格布局有4行

②設(shè)置有多少列:android:columnCount="4"    //設(shè)置網(wǎng)格布局有4列


設(shè)置某個(gè)組件位于幾行幾列

注:都是從0開(kāi)始算的哦!


①組件在第幾行:android:layout_row = "1"   //設(shè)置組件位于第二行

②組件在第幾列:android:layout_column = "2"   //設(shè)置該組件位于第三列


設(shè)置某個(gè)組件橫跨幾行幾列:

①橫跨幾行:android:layout_rowSpan = "2"    //縱向橫跨2行

②橫跨幾列:android:layout_columnSpan = "3"     //橫向橫跨2列


使用實(shí)例:

最最最普遍的例子----計(jì)算器界面:

效果圖:



PS:這里要說(shuō)一點(diǎn),網(wǎng)格布局和其他布局不同,可以不為組件設(shè)置Layout_width和Layout_height屬性

因?yàn)榻M件的寬高由幾行幾列決定了,當(dāng)然,你也可以寫(xiě)個(gè)wrap_content


代碼:

  1. <GridLayout xmlns:android="http://schemas./apk/res/android"  
  2.     xmlns:tools="http://schemas./tools"  
  3.     android:id="@+id/GridLayout1"  
  4.     android:layout_width="wrap_content"  
  5.     android:layout_height="wrap_content"  
  6.     android:rowCount="6"  
  7.     android:columnCount="4"  
  8.     android:orientation="horizontal">  
  9.   
  10.     <TextView   
  11.         android:layout_columnSpan="4"  
  12.         android:text="0"  
  13.         android:textSize="50sp"  
  14.         android:layout_marginLeft="5dp"  
  15.         android:layout_marginRight="5dp"  
  16.     />  
  17.   
  18.     <Button   
  19.         android:text="回退"   
  20.         android:layout_columnSpan="2"  
  21.         android:layout_gravity="fill"     
  22.     />  
  23.      
  24.     <Button   
  25.         android:text="清空"  
  26.         android:layout_columnSpan="2"  
  27.         android:layout_gravity="fill"      
  28.     />  
  29.       
  30.     <Button   
  31.         android:text="+"      
  32.     />  
  33.      
  34.     <Button   
  35.         android:text="1"      
  36.     />  
  37.     <Button   
  38.         android:text="2"      
  39.     />  
  40.     <Button   
  41.         android:text="3"      
  42.     />  
  43.     <Button   
  44.         android:text="-"      
  45.     />  
  46.     <Button   
  47.         android:text="4"      
  48.     />  
  49.     <Button   
  50.         android:text="5"      
  51.     />  
  52.     <Button   
  53.         android:text="6"      
  54.     />  
  55.     <Button   
  56.         android:text="*"      
  57.     />  
  58.     <Button   
  59.         android:text="7"      
  60.     />  
  61.     <Button   
  62.         android:text="8"      
  63.     />  
  64.     <Button   
  65.         android:text="9"      
  66.     />  
  67.     <Button   
  68.         android:text="/"      
  69.     />  
  70.     <Button   
  71.         android:layout_width="wrap_content"  
  72.         android:text="."      
  73.     />  
  74.     <Button   
  75.         android:text="0"      
  76.     />  
  77.      <Button   
  78.         android:text="="      
  79.     />  
  80. </GridLayout>  

代碼解釋:

代碼很簡(jiǎn)單,就是清除和回退按鈕設(shè)置了跨兩列而已,其他的都是直接添加的

每個(gè)組件默認(rèn)是占一行,占一列

這里要說(shuō)明一點(diǎn):

通過(guò)android:layout_rowSpan和android:layout_columnSpan設(shè)置表明組件橫越的行數(shù)與列數(shù)

再通過(guò):android:layout_gravity = "fill"  設(shè)置表明組件填滿所橫越的整行或者整列


用法總結(jié):

①GridLayout使用虛細(xì)線將布局劃分為行,列和單元格,同時(shí)也支持在行,列上進(jìn)行交錯(cuò)排列

②使用流程:

step 1:先定義組件的對(duì)其方式 android:orientation  水平或者豎直

step 2:設(shè)置組件所在的行或者列,記得是從0開(kāi)始算的

step 3:設(shè)置組件橫跨幾行或者幾列;設(shè)置完畢后,需要在設(shè)置一個(gè)填充:android:layout_gravity = "fill"


可能遇到的問(wèn)題:

當(dāng)讀者將布局設(shè)置為GridLayout時(shí),會(huì)出現(xiàn)莫名其妙的報(bào)錯(cuò),

如果代碼語(yǔ)法邏輯沒(méi)有錯(cuò)的話,就可能是配置文件AndroidManifest.xml的問(wèn)題了

因?yàn)镚ridLayout是android 4.0 后才推出的,API Level 為 14

只需要將配置文件中的MinSDK改成14或者以上版本即可,保存,問(wèn)題就解決了!


低版本sdk使用GridLayout的方法

其實(shí)只需要導(dǎo)個(gè)包即可:

下載v7這個(gè)包

導(dǎo)入:sdk下的GridLayout目錄:sdk\extras\android\support\v7\gridlayout

然后為需要用到的工程添加library即可


監(jiān)于有些初學(xué)者連包都不會(huì)倒,這里就演示一下導(dǎo)包流程:


找到:sdk\extras\android\support\v7\gridlayout,點(diǎn)擊ok后


如圖,庫(kù)就存在了(ps:因?yàn)楣P者sdk是4.2的,所以才會(huì)顯示感嘆號(hào)..)

接著將它添入到工程中:




選擇后:



表明添加成功,接著在xml文件中我們就可以直接用了

在XML只要將GridLayout寫(xiě)成:

<android.support.v7.widget.GridLayout>

并添加一行命名空間,而不是替換:

xmlns:app="http://schemas./apk/res-auto"

即可

給出V7的包的下載鏈接:

http://pan.baidu.com/s/1kTC2s3l


總結(jié):

GridLayout的使用并不復(fù)雜,這節(jié)就寫(xiě)到這里

為了照顧部分初學(xué)者,有點(diǎn)啰嗦,忘讀者見(jiàn)諒

感謝大家的支持,如果有什么紕漏的,忘讀者給出,或者有什么好玩的實(shí)例

也可以和筆者說(shuō)下,O(∩_∩)O謝謝!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多

    国产精品伦一区二区三区在线| 最好看的人妻中文字幕| 大胆裸体写真一区二区| 国内胖女人做爰视频有没有| 国产熟女一区二区不卡| 亚洲国产精品久久综合网| 国产一区二区精品高清免费 | 国产免费观看一区二区| 国产又粗又爽又猛又黄的| 欧美一区日韩一区日韩一区| 经典欧美熟女激情综合网| 人妻巨大乳一二三区麻豆| 国产成人精品国产亚洲欧洲| 人妻亚洲一区二区三区| 欧洲一级片一区二区三区| 欧美一级黄片免费视频| 亚洲av熟女国产一区二区三区站| 国产午夜精品在线免费看| 麻豆视传媒短视频在线看| 91熟女大屁股偷偷对白| 丰满熟女少妇一区二区三区| 亚洲男女性生活免费视频| 最近最新中文字幕免费| 精品少妇一区二区视频| 欧美精品久久一二三区| 少妇人妻精品一区二区三区| 黑人巨大精品欧美一区二区区| 亚洲男人天堂成人在线视频| 国产精品99一区二区三区| 亚洲精品国产主播一区| 日韩高清一区二区三区四区| 风间中文字幕亚洲一区| 精品人妻一区二区三区免费看| 国产av一二三区在线观看| 中文字幕禁断介一区二区| 爱在午夜降临前在线观看| 一区二区免费视频中文乱码国产| 日韩欧美国产精品自拍| 夫妻激情视频一区二区三区| 视频在线播放你懂的一区| 又大又紧又硬又湿又爽又猛|