<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/GridView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:columnWidth="90dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>
package com.Feier.android.GridView;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.Toast;public class Activity01 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//创建GridView对象,获取GridView对象
GridView gridview=(GridView)findViewById(R.id.GridView01);
//添加元素给GridView
gridview.setAdapter(new ImageAdapter(this));
//设置GridView的背景
gridview.setBackgroundResource(R.drawable.button2);
//事件监听
gridview.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent,View v,int position,long id){
Toast.makeText(Activity01.this,"你选择了"+(position+1)+"号图片",Toast.LENGTH_SHORT).show();
}
});
}
}package com.Feier.android.GridView;import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;public class ImageAdapter extends BaseAdapter {
//定义Context
private Context m_Context;
//定义整型数组,即图片源
private Integer[] m_ImageIds={
R.drawable.button1,
R.drawable.button2,
R.drawable.button3,
R.drawable.button4,
}; //声明ImageAdapter
public ImageAdapter(Context c){
m_Context=c;
}
//获取图片的个数
public int getCount(){
return m_ImageIds.length;
}
//获取图片在库中的位置
public Object getItem(int position){
return position;
}
//获取图片在库中的位置
public long getItemId(int position){
return position;
}
public View getView(int position,View convertView,ViewGroup parent){
ImageView imageview=new ImageView(m_Context);
//给ImageView设置资源
imageview.setImageResource(m_ImageIds[position]);
//设置布局图片以120*120显示
imageview.setLayoutParams(new Gallery.LayoutParams(120,120));
//设置显示比例类型
imageview.setScaleType(ImageView.ScaleType.FIT_CENTER);
return imageview;
}
}
我自己用了几个.jpg格式的图片,命名为button1,button2,button3,button4(R.drawable.)
图片格式,是不影响的。不知道我的代码,哪里出了问题?运行的时候,自动中断了?Logcat小弟水平有限,看不明白。
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/GridView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:columnWidth="90dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>
package com.Feier.android.GridView;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.Toast;public class Activity01 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//创建GridView对象,获取GridView对象
GridView gridview=(GridView)findViewById(R.id.GridView01);
//添加元素给GridView
gridview.setAdapter(new ImageAdapter(this));
//设置GridView的背景
gridview.setBackgroundResource(R.drawable.button2);
//事件监听
gridview.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent,View v,int position,long id){
Toast.makeText(Activity01.this,"你选择了"+(position+1)+"号图片",Toast.LENGTH_SHORT).show();
}
});
}
}package com.Feier.android.GridView;import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;public class ImageAdapter extends BaseAdapter {
//定义Context
private Context m_Context;
//定义整型数组,即图片源
private Integer[] m_ImageIds={
R.drawable.button1,
R.drawable.button2,
R.drawable.button3,
R.drawable.button4,
}; //声明ImageAdapter
public ImageAdapter(Context c){
m_Context=c;
}
//获取图片的个数
public int getCount(){
return m_ImageIds.length;
}
//获取图片在库中的位置
public Object getItem(int position){
return position;
}
//获取图片在库中的位置
public long getItemId(int position){
return position;
}
public View getView(int position,View convertView,ViewGroup parent){
ImageView imageview=new ImageView(m_Context);
//给ImageView设置资源
imageview.setImageResource(m_ImageIds[position]);
//设置布局图片以120*120显示
imageview.setLayoutParams(new Gallery.LayoutParams(120,120));
//设置显示比例类型
imageview.setScaleType(ImageView.ScaleType.FIT_CENTER);
return imageview;
}
}
我自己用了几个.jpg格式的图片,命名为button1,button2,button3,button4(R.drawable.)
图片格式,是不影响的。不知道我的代码,哪里出了问题?运行的时候,自动中断了?Logcat小弟水平有限,看不明白。
//设置布局图片以120*120显示
imageview.setLayoutParams(new Gallery.LayoutParams(120,120));试试。