【Android】图片切换(ImageSwitcher)实例

main.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
 
    <ImageSwitcher
        android:id="@+id/imageSwitcher"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
    </ImageSwitcher>
 
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal" >
 
        <Button
            android:id="@+id/btnPrevious"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:enabled="false"
            android:text="上一张图片" />
 
        <Button
            android:id="@+id/btnNext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:enabled="true"
            android:text="下一张图片" />
    </LinearLayout>
 
</LinearLayout>

java代码如下:

package org.lxh.demo;
 
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
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.Button;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ViewSwitcher.ViewFactory;
 
public class Hello extends Activity {
	private ImageSwitcher imageSwitcher = null;
	private Button btnPrevious = null;
	private Button btnNext = null;
	private int[] imgRes = new int[] { R.drawable.ispic_a, R.drawable.ispic_b,
			R.drawable.ispic_c, R.drawable.ispic_d, R.drawable.ispic_e, };
	private int foot = 0;
 
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState); // 生命周期方法
		super.setContentView(R.layout.main); // 设置要使用的布局管理器
		this.imageSwitcher = (ImageSwitcher) super
				.findViewById(R.id.imageSwitcher);
		this.btnPrevious = (Button) super.findViewById(R.id.btnPrevious);
		this.btnNext = (Button) super.findViewById(R.id.btnNext);
		this.imageSwitcher.setFactory(new ViewFactoryImpl());
        this.imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));
        this.imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));
		this.imageSwitcher.setImageResource(imgRes[foot++]);
		this.btnPrevious.setOnClickListener(new OnClickListenerPrevious());
		this.btnNext.setOnClickListener(new OnClickListenerNext());
 
	}
 
	private class OnClickListenerPrevious implements OnClickListener {
 
		public void onClick(View arg0) {
			Hello.this.imageSwitcher.setImageResource(imgRes[foot--]);
			Hello.this.checkButtonEnable();
		}
 
	}
 
	private class OnClickListenerNext implements OnClickListener {
 
		public void onClick(View arg0) {
			Hello.this.imageSwitcher.setImageResource(imgRes[foot++]);
			Hello.this.checkButtonEnable();
		}
 
	}
 
	private class ViewFactoryImpl implements ViewFactory {
 
		public View makeView() {
			ImageView img = new ImageView(Hello.this);
			img.setBackgroundColor(0xFFFFFFFF);
			img.setScaleType(ImageView.ScaleType.CENTER);
			img.setLayoutParams(new ImageSwitcher.LayoutParams(
					LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
			return img;
		}
 
	}
 
	private void checkButtonEnable() {
		if (this.foot < this.imgRes.length - 1) {
			this.btnNext.setEnabled(true);
		} else{
			this.btnNext.setEnabled(false);
		}
		if (this.foot == 0) {
			this.btnPrevious.setEnabled(false);
		} else{
			this.btnPrevious.setEnabled(true);
		}
	}
 
}

在这里插入图片描述

发布了73 篇原创文章 · 获赞 17 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_40110781/article/details/104933265