切换图片,在Android手机应用中也经常使用:
package com.ko8e;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ViewSwitcher.ViewFactory;
public class MyActivity extends Activity implements OnClickListener,
ViewFactory {
/** Called when the activity is first created. */
private LinearLayout linear = null;
private ImageSwitcher imageSwitcher = null;
private int[] imageList = { R.drawable.img1, R.drawable.img2,
R.drawable.img3, R.drawable.img4, R.drawable.img5, R.drawable.img6,
R.drawable.img7, R.drawable.img8, };
private static int index = 0;
private static final int BUTTON_DOWN_ID = 0x123456;
private static final int BUTTON_UP_ID = 0x123457;
private static final int BUTTON_SWITCHER_ID = 0x123458;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
linear = new LinearLayout(this);
imageSwitcher = new ImageSwitcher(this);
linear.addView(imageSwitcher);
imageSwitcher.setId(BUTTON_SWITCHER_ID);
imageSwitcher.setFactory(this);
imageSwitcher.setImageResource(imageList[index]);
// 顯示上面的佈局
setContentView(linear);
Button next = new Button(this);
next.setId(BUTTON_DOWN_ID);
next.setText("NEXT");
next.setOnClickListener(this);
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(100,
100);
linear.addView(next, param);
Button pre = new Button(this);
pre.setId(BUTTON_UP_ID);
pre.setText("UP");
pre.setOnClickListener(this);
linear.addView(pre, param);
}
public void onClick(View v) {
switch (v.getId()) {
case BUTTON_DOWN_ID:
index++;
if (index >= imageList.length) {
index = 0;
}
imageSwitcher.setImageResource(imageList[index]);
break;
case BUTTON_UP_ID:
index--;
if (index < 0) {
index = imageList.length - 1;
}
imageSwitcher.setImageResource(imageList[index]);
break;
}
}
public View makeView() {
return new ImageView(this);
}
}