Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 初級開發 >> Android GridView 網格布局 使用

Android GridView 網格布局 使用

編輯:初級開發

GridVIEw

[功能]

以前提及過GridView 說也是一種AdapterView 和ListVIEw有點像 今天花了時間 用了一些 有點心得 和大家分享分享

[思路]

1. 既然和ListVIEw像 那麼應該還是通過 setAdapter() 來設置吧

2. 因為我想顯示的是一些圖片信息 必須用到ImageView 不是默認的Adapter用到的TextVIEw 所以只能自己擴展了

[代碼]

1. 定義包含GridVIEw 的 main.xmk

Java代碼

< ?XML version="1.0" encoding="utf-8"?>

< LinearLayout XMLns:android="http://schemas.android.com/apk/res/android"

android:orIEntation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

< GridVIEw

android:id="@+id/gride"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

< strong> android:numColumns="3"

android:verticalSpacing="5dip"

/>

< /LinearLayout>

< ?XML version="1.0" encoding="utf-8"?>

< LinearLayout XMLns:android="http://schemas.android.com/apk/res/android"

android:orIEntation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

< GridVIEw

android:id="@+id/gride"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:numColumns="3"

android:verticalSpacing="5dip"

/>

< /LinearLayout>

這行應該注意一下:

Java代碼

android:numColumns="3"

android:numColumns="3"

用來設定GridView每行顯示的View數目 如果沒有這行 會默認每行顯示一個View 和ListVIEw 的一樣

2. 自定義 class ImageList extends BaseAdapter 其中主要是:

寫道

View getView(int position, View convertView, VIEwGroup parent)

用於顯示目標ImageVIEw

Java代碼

public class ImageList extends BaseAdapter {

Activity activity;

//construct

public ImageList(Activity a ) {

activity = a;

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return image.length;

}

@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return image[position];

}

@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return position;

}

@Override

public View getView(int position, View convertView, VIEwGroup parent) {

// TODO Auto-generated method stub

ImageView iv = new ImageVIEw(activity);

iv.setImageResource(image[position]);

return iv;

}

}

public class ImageList extends BaseAdapter {

Activity activity;

//construct

public ImageList(Activity a ) {

activity = a;

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return image.length;

}

@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return image[position];

}

@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return position;

}

@Override

public View getView(int position, View convertView, VIEwGroup parent) {

// TODO Auto-generated method stub

ImageView iv = new ImageVIEw(activity);

iv.setImageResource(image[position]);

return iv;

}

}

3. 給GridVIEw指定Adapter

Java代碼

GridView gv = (GridView) findVIEwById(R.id.gride);

ImageList adapter = new ImageList(this);

gv.setAdapter(adapter);

GridView gv = (GridView) findVIEwById(R.id.gride);

ImageList adapter = new ImageList(this);

gv.setAdapter(adapter);

所以最後效果圖是這樣的 網格布局

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved