Android实现图像切换器
magiz19 人气:0java代码:
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
效果图:
加载全部内容