package cn.roco.gridview;
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.view.ViewGroup.LayoutParams;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.GridView;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.SimpleAdapter;
import android.widget.ViewSwitcher.ViewFactory;
public class MyGridViewActivity extends Activity {
int[] imageIDs = new int[] { R.drawable.beautiful_001,
R.drawable.beautiful_002, R.drawable.beautiful_003,
R.drawable.beautiful_004, R.drawable.beautiful_005,
R.drawable.beautiful_006, R.drawable.beautiful_007,
R.drawable.beautiful_008, R.drawable.beautiful_009,
R.drawable.beautiful_010, R.drawable.beautiful_011,
R.drawable.beautiful_012, R.drawable.beautiful_013 };
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gridview);
List<Map<String, Object>> listItems = new ArrayList<Map<String, Object>>();
for (int i = 0; i < imageIDs.length; i++) {
Map<String, Object> listItem = new HashMap<String, Object>();
listItem.put("image", imageIDs[i]);
listItems.add(listItem);
}
//获取显示拖的ImageSwitcher
final ImageSwitcher switcher = (ImageSwitcher) findViewById(R.id.switcher);
// 设置图片切换的动画效果
switcher.setInAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_in));
switcher.setOutAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_out));
// 为ImageSwitch设置图片切换的图片
switcher.setFactory(new ViewFactory() {
@Override
public View makeView() {
ImageView imageView = new ImageView(MyGridViewActivity.this);
imageView.setBackgroundColor(0xff0000);
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
imageView.setLayoutParams(new ImageSwitcher.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
return imageView;
}
});
//创建一个SimpleAdapter
//使用 /layout/cell.xml作为界面布局
SimpleAdapter simpleAdapter = new SimpleAdapter(this, listItems,
R.layout.cell, new String[] { "image" },
new int[] { R.id.image1 });
GridView gridView = (GridView) findViewById(R.id.grid01);
//为 GridView设置 simpleAdapter
gridView.setAdapter(simpleAdapter);
// 处理被选中事件
gridView.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// 显示当前被选中的图片
switcher.setImageResource(imageIDs[position % imageIDs.length]);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
// 处理被点击事件
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// 显示被单击的图片
switcher.setImageResource(imageIDs[position % imageIDs.length]);
}
});
}
}
Android之Gallery和GridView两种方式与ImageSwitcher实现带预览的和幻灯片方式的两种图片浏览器
5星 · 超过95%的资源 需积分: 10 59 浏览量
2013-10-28
22:41:09
上传
评论
收藏 2.63MB ZIP 举报
字节卷动
- 粉丝: 4w+
- 资源: 52
最新资源
- 基于C51带字库LCD12864(ST7920)的keil工程源码,只支持8位并口通讯(不支持串口),可显示中文.zip
- 基于SI4463射频模块433MD-SMA无线模块软硬件技术资料及(SI4463)IC技术资料文档.zip
- (GPS+北斗+GSM)HLK-GS2503模块软硬件开发资料包硬件参考设计(原理图PCB)+技术文档资料.zip
- 基于BERT+Biaffine结构的关系抽取模型源码+文档说明.zip
- 利用c语言编写的冒泡排序代码
- 基于Ansoft-HFSS知识总结hfss中文教程HFSS培训教材等技术资料合集(50个).zip
- 基于Python+OpenCV的材料缺陷检测程序项目源码课程设计.zip
- 基于c语言实现的二叉树代码
- pip利用清华镜像源下载matplotlib代码
- Python的pyqt5写的图书管理系统期末大作业源码带文档设计.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
- 4
- 5
- 6
前往页