GridView 九宫图

GridView(九宫图)[url]http://blog.csdn.net/hellogv/article/details/4567095[/url]
GridView 网格布局 使用[url]http://www.iteye.com/topic/571184[/url]
[color=red]1.普通的GridView[/color]
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />

<GridView
android:id="@+id/gridView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numColumns="3" >
</GridView>

</LinearLayout>


ImageAdapder.java
package com.gv;

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

public class ImageAdapder extends BaseAdapter {
private Context context;
private int[] images;

public ImageAdapder(Context context,int[] images){
this.context = context;
this.images = images;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return images.length;
}

@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}

@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(context);
imageView.setImageResource(images[position]);
return imageView;
}

}


Activity类
-------------
package com.gv;

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

public class GridViewActivity extends Activity {
private GridView gridView1;
private int[] images = new int[] { R.drawable.android0001, R.drawable.android0002, R.drawable.android0003, R.drawable.android0004, R.drawable.android0005, R.drawable.android0006, R.drawable.android0007, R.drawable.android0008 };
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

gridView1 = (GridView)findViewById(R.id.gridView1);
gridView1.setAdapter(new ImageAdapder(this,images));

}
}



[color=red]2.带ImageView & TextView的GridView[/color]
main.xml [没变]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView android:id="@+id/myTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />

<GridView
android:id="@+id/gridView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numColumns="3" >
</GridView>

</LinearLayout>


sub.xml [单个grid的布局]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/android0001" />

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />

</LinearLayout>



Activity类
package com.gv;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.SimpleAdapter;
import android.widget.TextView;

public class GridViewActivity extends Activity {
private GridView gridView1;
private TextView myTextView;

private int[] images = new int[] { R.drawable.android0001, R.drawable.android0002, R.drawable.android0003, R.drawable.android0004, R.drawable.android0005, R.drawable.android0006, R.drawable.android0007, R.drawable.android0008 };
private String[] imagesNames = new String[] {"android0001","android0002","android0003","android0004","android0005","android0006","android0007","android0008"};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

myTextView = (TextView)findViewById(R.id.myTextView);
gridView1 = (GridView)findViewById(R.id.gridView1);
//注意这里引用了sub.xml的布局,是刚才自己创建的。
SimpleAdapter adapter = new SimpleAdapter(this,getData(),R.layout.sub,new String[]{"imageView1","textView1"},new int[]{R.id.imageView1,R.id.textView1});
gridView1.setAdapter(adapter);
gridView1.setOnItemClickListener(new OnItemClickListener(){

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int postion,
long arg3) {
// TODO Auto-generated method stub
myTextView.setText("你选择了图片id="+postion);
}
});

}

//获得单元格数据
public List<Map<String,Object>> getData(){
List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
for(int i=0; i<images.length&&i<imagesNames.length; i++){
Map<String,Object> map = new HashMap<String,Object>();
map.put("imageView1", images[i]);
map.put("textView1", imagesNames[i]);
list.add(map);
}
return list;
}
}



[img]http://dl.iteye.com/upload/attachment/0062/2770/ebc262be-41c6-31dc-80eb-d8e10e890894.jpg[/img]

[img]http://dl.iteye.com/upload/attachment/0062/2826/6db1e7d4-1bcc-3f63-91a1-c881ee0fcccf.jpg[/img]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值