鍍金池/ 教程/ Android/ Android GridView
Android 應(yīng)用組件
使用布局文件自定義Android組件
Android通知
Android主題示例
Android JetPlayer實例
Android MediaPlayer(多媒體播放)
Android AbsoluteLayout
Android FrameLayout
Android Gestures/手勢
Android AutoCompleteTextView(自動完成)實例
Android 資源組織和訪問
Android ListView
Android GridView
Android數(shù)據(jù)備份
Android撥打電話
Android發(fā)送短信/SMS
Android ProgressDialog
SimpleCursorAdapter
Android發(fā)送電子郵件
Android Activity
Android TextView
Android事件處理
Android TableLayout
Android加載Spinner
Android內(nèi)容提供者
Android自定義字體
Android Service
Android CheckBox
Android Intent過濾器
Android LinearLayout
Android登錄實例
Android RadioButton
Android樣式和主題
Android自定義組件及屬性
Android UI控件
Android Animation(動畫)實例
Android Camera(攝像頭)
Android ToggleButton
Android Clipboard(復制/剪貼板)
Android音頻捕獲(錄音)
發(fā)布Android應(yīng)用
Android Alertdialog(警告對話框)
Android圖片效果
Android內(nèi)部存儲
Android基于位置服務(wù)
Android RadioGroup
Android AutoCompleteTextView
Android Bluetooth(藍牙)實例
Android RelativeLayout
Android最佳實踐
Android本地化
Android自定義組件
Android教程
Android 架構(gòu)
Android UI布局
Android Button
Android Hello World示例
Android音頻管理器實例
ArrayAdapter
Android拖放
Android碎片/片段
Android圖片切換
Android JSON解析器
Android開發(fā)環(huán)境搭建
Android Spinner
Android樣式示例
使用活動代碼自定義Android組件
Android ImageButton
Android EditText
Android廣播接收器

Android GridView

Android 的 GridView 以二維滾動網(wǎng)格(行和列)顯示項目,網(wǎng)格項目不一定是預(yù)定的,但它們會自動使用 ListAdapter 布局插入。

一個適配器實際上是UI組件和數(shù)據(jù)源之間的橋梁,填充數(shù)據(jù)到UI組件。適配器可以用來提供數(shù)據(jù),如:微調(diào),列表視圖,網(wǎng)格視圖等。

ListView 和 GridView 是 AdapterView 的子類,它們可以綁定填充到一個適配器,從外部源檢索數(shù)據(jù),并創(chuàng)建一個視圖表示每個數(shù)據(jù)項。

GridView屬性

以下是具體 GridView 的屬性:

屬性 描述
android:id 這是唯一標識的布局的ID。
android:columnWidth 這指定了固定的寬度為每列。這可能是px, dp, sp, in, 或者mm。
android:gravity 指定每個單元內(nèi)的重力??赡艿闹凳莟op, bottom, left, right, center, center_vertical, center_horizontal 等。
android:horizontalSpacing 定義列之間的默認水平間距??赡苄问綖椋簆x, dp, sp, in或mm。
android:numColumns 定義了要顯示多少列??梢允且粋€整數(shù)值,例如“100”或auto_fit這意味著顯示盡可能多的列可能填補可用空間。
android:stretchMode 定義列應(yīng)如何拉伸以填充可用的空白,如果有的話。值必須是:
  • none: 延長被禁止。

  • spacingWidth: 每一列之間的間距被拉伸。

  • columnWidth: 每列被均等地拉伸。

  • spacingWidthUniform: 每一列之間的間距被均勻拉伸。

android:verticalSpacing 定義的行之間的缺省垂直間距。這可能是 px, dp, sp, in, 或 mm。

示例

這個例子將通過簡單的步驟顯示如何使用 GridView 創(chuàng)建自己的 Android 應(yīng)用程序。按照下面的步驟來 創(chuàng)建Android 應(yīng)用程序 GridView:

Step 描述
1 使用Eclipse IDE創(chuàng)建Android應(yīng)用程序,并將其命名為GridView在包com.yiibai.gridview下。
2 修改res/layout/activity_main.xml文件的默認內(nèi)容以包括GridView的內(nèi)容以及它的屬性。
3 在res/values/strings.xml文件中定義所需的常量。
4 把幾張照片放在res/drawable-hdpi文件夾。這幾張相處如下:sample0.jpg, sample1.jpg, sample2.jpg, sample3.jpg, sample4.jpg, sample5.jpg, sample6.jpg 和 sample7.jpg.
5 在包com.yiibai.helloworld下創(chuàng)建一個新類ImageAdapter擴展BaseAdapter。將用于填充視圖,這個類將實現(xiàn)一個適配器的功能。
6 運行該應(yīng)用程序啟動Android模擬器并驗證應(yīng)用程序所運行的結(jié)果。

以下是內(nèi)容是主活動文件 src/com.yiibai.gridview/MainActivity.java。這個文件可以包括每個的基本生命周期方法。

package com.yiibai.gridview;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.GridView;

public class MainActivity extends Activity {

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      
      GridView gridview = (GridView) findViewById(R.id.gridview);
      gridview.setAdapter(new ImageAdapter(this));
   }

   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
   }
   
}

下面是 res/layout/activity_main.xml 文件的內(nèi)容:

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
   android:id="@+id/gridview"
   android:layout_width="fill_parent" 
   android:layout_height="fill_parent"
   android:columnWidth="90dp"
   android:numColumns="auto_fit"
   android:verticalSpacing="10dp"
   android:horizontalSpacing="10dp"
   android:stretchMode="columnWidth"
   android:gravity="center"
/>

以下是文件  res/values/strings.xml 內(nèi)容定義兩個常量:

<?xml version="1.0" encoding="utf-8"?>
<resources>

   <string name="app_name">HelloWorld</string>
   <string name="action_settings">Settings</string>

</resources>

以下是 src/com.yiibai.gridview/ImageAdapter.java 文件的內(nèi)容: 

package com.yiibai.gridview;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;

public class ImageAdapter extends BaseAdapter {
   private Context mContext;

   // Constructor
   public ImageAdapter(Context c) {
      mContext = c;
   }

   public int getCount上一篇:Android RadioGroup下一篇:Android發(fā)送短信/SMS