Android之ImageSwitcher的实例详解

一. 简单示例

实例代码:

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>

二. 运行结果

启动


点击后切换过程

以上就是Android之ImageSwitcher的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

02-05 03:47
查看更多