第112页
}
(6)首先获取GridView组件,然后创建BaseAdapter类的对象,并重写其中的getView()、getItemId()、getItem()和getCount()方法,其中最主要的是重写getView()方法来设置要显示的图片,最后将BaseAdapter适配器与GridView相关联,具体代码如下:
GridView gridview = (GridView) findViewById(R.id.gridView1); //获取GridView组件
BaseAdapter adapter = new BaseAdapter() {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageview; //声明ImageView的对象
if (convertView == null) {
imageview = new ImageView(MainActivity.this); //实例化ImageView的对象
/************* 设置图像的宽度和高度 ******************/
imageview.setAdjustViewBounds(true);
imageview.setMaxWidth(150);
imageview.setMaxHeight(113);
/**************************************************/
imageview.setPadding(5, 5, 5, 5); //设置ImageView的内边距
} else {
imageview = (ImageView) convertView;
}
//为ImageView设置要显示的图片
Bitmap bm=BitmapFactory.decodeFile(imagePath.get(position));
imageview.setImageBitmap(bm);
return imageview; //返回ImageView
}
/*
* 功能:获得当前选项的ID
*/
@Override
public long getItemId(int position) {
return position;
}
/*
* 功能:获得当前选项
*/
@Override
public Object getItem(int position) {
return position;
}
/*
* 获得数量
*/
@Override
public int getCount() {
return imagePath.size();
}
};
gridview.setAdapter(adapter); //将适配器与GridView关联
在SD卡上上传如图9.22所示的图片文件。运行本实例,将显示如图9.23所示的运行结果。
图9.22 在SD卡上上传文件
图9.23 在GridView中显示SD卡上的全部图片
9.5.2 迷途奔跑的野猪
例9.19 在Eclipse中创建Android项目,名称为9.19,实现迷途的野猪来回奔跑的动画。(实例位置:光盘\TM\sl\9\9.19)
(1)在新建项目的res目录中,创建一个名称为anim的目录,并在该目录中创建实现野猪做向右奔跑动作和做向左奔跑动作的逐帧动画资源文件。
① 创建名称为motionright.xml的XML资源文件,在该文件中定义一个野猪做向右奔跑动作的动画,该动画由两帧组成,也就是由两个预先定义好的图片组成,具体代码如下:
② 创建名称为motionleft.xml的XML资源文件,在该文件中定义一个野猪做向左奔跑动作的动画,该动画也由两帧组成,具体代码如下:
(2)在amin目录中,创建实现野猪向右侧奔跑和向左侧奔跑的补间动画资源文件。
① 创建名称为tramslateright.xml的XML资源文件,在该文件中定义一个实现野猪向右侧奔跑的补间动画,该动画为在水平方向上向右平移850像素,持续时间为3秒钟,具体代码如下:
android:fromXDelta="0"
android:toXDelta="850"
android:fromYDelta="0"
android:toYDelta="0"
android:duration="3000">
② 创建名称为translate left.xml的XML资源文件,在该文件中定义一个实现野猪向左侧奔跑的补间动画,该动画为在水平方向上向左平移850像素,持续时间为3秒钟,具体代码如下:
android:fromXDelta="850"
android:toXDelta="0"
android:fromYDelta="0"
android:toYDelta="0"
android:duration="3000">
(3)修改新建项目的res\layout目录下的布局文件main.xml,将默认添加的TextView组件删除,然后在默认添加的线性布局管理器中添加一个ImageView组件,并设置该组件的背景为逐帧动画资源motionright,最后设置ImageView组件的顶外边距和左外边距,关键代码如下: