從小哥哥那里學(xué)到的一個(gè)控件,趕緊記錄下來(lái)。。。啦啦啦~
先上個(gè)效果圖
沒(méi)錯(cuò),排版就是這么粗糙。。畢竟是周末加班系列,并不想再搞事情
接下來(lái),代碼來(lái)了——
一、在主布局文件中加入GridView控件
GridView控件和ListView其實(shí)很相似,不同的是GridView控件中有一個(gè)numColumns屬性,這個(gè)屬性是用來(lái)設(shè)置列數(shù)的,這里我們?cè)O(shè)置為3,表示有三列。
二、給GridView的每一項(xiàng)寫一個(gè)布局(基本上都是一個(gè)圖片加一個(gè)文本)
三、接下來(lái),和前面很多高級(jí)控件類似的,我們要去定義一個(gè)自己的Adapter適配器去綁定數(shù)據(jù)和GridView控件,在這里,我們的數(shù)據(jù)由兩部分組成,一部分是圖片,另一部分是文字,為了能讓一個(gè)對(duì)象同時(shí)可以獲取這兩類數(shù)據(jù),我們就要用到一個(gè)方法ViewHolder,這是個(gè)視圖容器,可以同時(shí)獲取圖片和文字,這樣我們就可以把自己的每一塊圖片和文字加載到一個(gè)容器中。此時(shí)又產(chǎn)生了一個(gè)問(wèn)題,圖片我們可以直接setBackgroudResource放到ViewHolder中(這里所有的表格里我們用的是一樣的圖片),但是表格里的文字我們?cè)O(shè)置的是不同的,怎么傳到ViewHolder中呢,這個(gè)時(shí)候就需要用到一個(gè)新的類Bean,Bean一搬使用來(lái)放實(shí)體屬性的,在Bean中我們可以設(shè)置get、set方法獲取屬性。那么我們先來(lái)建立一個(gè)GridBean用來(lái)獲取文本屬性。
接下來(lái),我們來(lái)設(shè)置Adapter,這個(gè)適配器的設(shè)置方法和之前很多高級(jí)控件的設(shè)置都很類似,不同的是這里我們用到了ViewHoler視圖容器來(lái)存放我們?cè)O(shè)置的list布局。
四、然后我們就要在主Activity中把適配器傳入GridView控件了
OK,這樣我們就可以運(yùn)行看效果了。這只是基礎(chǔ)的對(duì)于GridView的使用,還有很多更高級(jí)的用法,不過(guò)目前因?yàn)檫€沒(méi)有見(jiàn)到過(guò)很多APP中用GridView制作的布局,所以就暫時(shí)放起來(lái)吧。。。這樣是不是不太好,,,,原諒我吧,要學(xué)的東西實(shí)在太多了。。。簡(jiǎn)直崩潰!