Android GridView詳解

本期主要內容

1: 什么是GridView。
2: GridView的使用方法。
3: GridView的內部原理。
4: GridView的注意事項。

1. GridView簡介

  • 在Android程序設計中GridView跟ListView都是比較常用的多控件布局,而GridView更是實現九宮圖的首選! GridView的用法很多,主要凸顯的是那種網格式布局,既有橫向也有縱向的數據顯示。

2. GridView的使用場景

  • GridView是android開發中常用的一個控件,它通常和以下幾塊內容結合使用
      1. GridView的九宮格效果
      1. GridView的獲取系統應用
      1. GridView動態加載數據
      1. 擴展:GridView的上拉加載下拉刷新

3. GridView實現數據加載的步驟:

  • GridView適合“網格式布局”的開發模式,即從每個條目的顯示組件,到對其進行控制的數據結構,最后通過Activity等進行使用。
    1. 首先是item組件,即用于每項布局輸出的xml文件。
    1. 在Activity的布局中加載《GridView》控件,并設置一系列屬性
    1. 定義數據結構(容器),即用于持有單個Item的數據,可以是簡單的String,也可以通過抽象Items所需字段組成一個類,抽象的原則是與Item中的組件對應。本文中上圖涉及多個字段,因此通過抽象組件形成BBSTopicItem類。
    1. 列表適配器。決定每行Item中具體顯示什么內容,以怎樣的樣式顯示等,通常通過繼承ArrayAdapter、SimpleAdapter等實現。本文定義BaseAdapter。
    1. 定義數據源,并對數據源進行初始化
    1. 將適配器設置給GridView

4. GridView中常用的一些屬性 相關屬性解析:

    1. android:numColumns=”auto_fit” //GridView的列數設置為自動
    1. android:columnWidth=”90dp " //每列的寬度,也就是Item的寬度
    1. android:stretchMode=”columnWidth"http://縮放與列寬大小同步
    1. android:verticalSpacing=”10dp” //兩行之間的邊距
    1. android:horizontalSpacing=”10dp” //兩列之間的邊距
    1. android:cacheColorHint="#00000000" //去除拖動時默認的黑色背景
    1. android:listSelector="#00000000" //去除選中時的黃色底色
    1. android:scrollbars="none" //隱藏GridView的滾動條
    1. android:fadeScrollbars="true" //設置為true就可以實現滾動條的自動隱藏和顯示
    1. android:fastScrollEnabled="true" //GridView出現快速滾動的按鈕(至少滾動4頁才會顯示)
    1. android:fadingEdge="none" //GridView衰落(褪去)邊緣顏色為空,缺省值是vertical。(可以理解為上下邊緣的提示色)
    1. android:fadingEdgeLength="10dip" //定義的衰落(褪去)邊緣的長度
    1. android:stackFromBottom="true" //設置為true時,你做好的列表就會顯示你列表的最下面
    1. android:transcriptMode="alwaysScroll" //當你動態添加數據時,列表將自動往下滾動最新的條目可以自動滾動到可視范圍內
    1. android:drawSelectorOnTop="false" //點擊某條記錄不放,顏色會在記錄的后面成為背景色,內容的文字可見(缺省為false)

5、GridView的使用方法。

  • 初始化控件GridView
  • 準備數據源(一組圖片)
  • 定義BaseAdapter(適配器)
  • GridView加載適配器

加載本地數據使用方法

步驟:

  • 初始化數據
初始化數據 .png
  • 綁定視圖和數據
綁定視圖和數據.png
  • 效果圖如下
效果圖.png

加載網絡數據

步驟:

  • 初始化數據


    初始化數據.png
  • 創建適配器

創建適配器.png
  • 綁定視圖和數據
綁定視圖和數據.png
  • 圖片下載使用異步請求AsyncTask
圖片下載使用異步請求AsyncTask.png
  • 下載圖片方法
下載圖片方法 .png
  • 效果圖
效果圖.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容