package xiaosi.imageswitcher; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.ImageButton; import android.widget.ImageSwitcher; import android.widget.ImageView; import android.widget.ViewSwitcher.ViewFactory; public class ImageSwitcherActivity extends Activity implements ViewFactory { private ImageSwitcher is_imageSwitcher; //存放图片id的int数组 private int[] images={ R.drawable.a, R.drawable.b, R.drawable.c, R.drawable.d, R.drawable.e, R.drawable.f, R.drawable.g, R.drawable.h,}; //下一张和上一张按钮 private ImageButton next; private ImageButton last; private int index=0; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); is_imageSwitcher=(ImageSwitcher)findViewById(R.id.is_imageswitch); last=(ImageButton)findViewById(R.id.last); next=(ImageButton)findViewById(R.id.next); //imageSwticher必须设置一个viewfactory后才可以查看图片 is_imageSwitcher.setFactory(this); //设置图片资源id is_imageSwitcher.setBackgroundResource(images[index]); } public View makeView() { //定义每个图像的显示大小 ImageView imageView = new ImageView(this); imageView.setLayoutParams(new ImageSwitcher.LayoutParams(300, 300)); return imageView; } //上一张的按钮事件 public void onClickLast(View v) { if(index == 0){ index = images.length-1; } else{ index--; } is_imageSwitcher.setBackgroundResource(images[index%images.length]); } //下一张的按钮事件 public void onClickNext(View v) { index++; is_imageSwitcher.setBackgroundResource(images[index%images.length]); } }
mian.xml
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageSwitcher android:id="@+id/is_imageswitch" android:layout_width="fill_parent" android:layout_height="fill_parent"> </ImageSwitcher> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <ImageButton android:src="@drawable/previous" android:id="@+id/last" android:layout_width="40dp" android:layout_height="40dp" android:layout_marginRight="10dp" android:onClick="onClickLast"/> <ImageButton android:src="@drawable/next" android:id="@+id/next" android:layout_width="40dp" android:layout_height="40dp" android:onClick="onClickNext" /> </LinearLayout> </FrameLayout>
源代码下载:点击下载