Android之ImageSwitcher
一. 简单示例
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>
二. 运行结果
启动

点击后切换过程


浙公网安备 33010602011771号