一. 简单示例
src
public class AndroidUIActivity extends Activity {
// 当前显示的图片索引
private int index;
// 图片数组
private int[] images = { R.drawable.image1, R.drawable.image2,
R.drawable.image3, R.drawable.image4, R.drawable.image5 };
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 全屏设置
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
// 得到ImageSwitcher对象
final ImageSwitcher is = (ImageSwitcher) findViewById(R.id.imageSwitcher1);
// 实现并设置工厂内部接口的makeView方法,用来显示视图。
is.setFactory(new ViewFactory() {
public View makeView() {
return new ImageView(AndroidUIActivity.this);
}
});
// 设置图片来源
is.setImageResource(images[index]);
// 设置点击监听器
is.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// 点击会切换图片
index++;
if (index >= images.length) {
index = 0;
}
is.setImageResource(images[index]);
}
});
// 设置切入动画
is.setInAnimation(AnimationUtils.loadAnimation(getApplicationContext(),
android.R.anim.slide_in_left));
// 设置切出动画
is.setOutAnimation(AnimationUtils.loadAnimation(
getApplicationContext(), android.R.anim.slide_out_right));
}
}
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/imageSwitcher1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ImageSwitcher>
</LinearLayout>
二. 运行结果
启动
点击后切换过程