亲宝软件园·资讯

展开

Android实现图像切换器

magiz19 人气:0

java代码:

private int[] imageId = new int[] { R.drawable.img01, R.drawable.img02,
 R.drawable.img03, R.drawable.img04, R.drawable.img05,
 R.drawable.img06, R.drawable.img07, R.drawable.img08,
 R.drawable.img09 };   // 声明并初始化一个保存要显示图像ID的数组
private int index = 0;           // 当前显示图像的索引
private ImageSwitcher imageSwitcher;    // 声明一个图像切换器对象
 
 
 imageSwitcher = (ImageSwitcher) findViewById(R.id.imageSwitcher1); // 获取图像切换器
      // 设置动画效果
 imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,
  android.R.anim.fade_in)); // 设置淡入动画
 imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,
  android.R.anim.fade_out)); // 设置淡出动画
 imageSwitcher.setFactory(new ViewFactory() {
 
 @Override
 public View makeView() {
  ImageView imageView = new ImageView(MainActivity.this); // 实例化一个ImageView类的对象
  imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); // 设置保持纵横比居中缩放图像
  imageView.setLayoutParams(new ImageSwitcher.LayoutParams(
   LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
  return imageView;                    // 返回imageView对象
 }
 
 });
 imageSwitcher.setImageResource(imageId[index]);  // 显示默认的图片 
     Button up = (Button) findViewById(R.id.btn1);  // 获取“上一张”按钮
 Button down = (Button) findViewById(R.id.btn2); // 获取“下一张”按钮
 up.setOnClickListener(new OnClickListener() {
  @Override
 public void onClick(View v) {
   if (index > 0) {
   index--;
  } else {
   index = imageId.length - 1;
  }
  imageSwitcher.setImageResource(imageId[index]); // 显示当前图片
 }
 });
 down.setOnClickListener(new OnClickListener() {
  @Override
 public void onClick(View v) {
  if (index < imageId.length - 1) {
  index++;
  } else {
  index = 0;
  }
  imageSwitcher.setImageResource(imageId[index]); // 显示当前图片
 }
 }); 

xml代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="horizontal"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:id="@+id/llayout"
  android:gravity="center"
  >
  <Button 
   android:text="上一张" 
   android:id="@+id/btn1" 
   android:layout_width="wrap_content" 
   android:layout_height="wrap_content"/>
 
 <ImageSwitcher
 android:id="@+id/imageSwitcher1" 
 android:layout_gravity="center"
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content"/>
 
  <Button 
   android:text="下一张" 
   android:id="@+id/btn2" 
   android:layout_width="wrap_content" 
   android:layout_height="wrap_content"/>
</LinearLayout>

说明:

drawable中,加入下列图片img01~img09

效果图:

加载全部内容

相关教程
猜你喜欢
用户评论