下面一个简单例子 学习 ImageSwitcher 类,

这个类 可以 切换显示图片 , 就像windows中的 自带的图片浏览器一样. 也可以制作简单的幻灯片。

  1. packagecom.birds.andorid.image;
  2. importandroid.app.Activity;
  3. importandroid.os.Bundle;
  4. importandroid.view.View;
  5. importandroid.view.Window;
  6. importandroid.view.View.OnClickListener;
  7. importandroid.view.animation.AnimationUtils;
  8. importandroid.widget.Button;
  9. importandroid.widget.ImageSwitcher;
  10. importandroid.widget.ImageView;
  11. importandroid.widget.RelativeLayout;
  12. importandroid.widget.ViewSwitcher;
  13. /**
  14. *
  15. *@authorbirds
  16. *@date2008-11-30
  17. */
  18. publicclassImageShowextendsActivityimplementsOnClickListener,
  19. ViewSwitcher.ViewFactory{
  20. privateImageSwitcherswitcher;
  21. privatestaticfinalintNEXT_BUTTON=0x345255;
  22. privatestaticfinalintPRE_BUTTON=0x345256;
  23. privatestaticfinalintSWITCHER=0x9394;
  24. privatestaticfinalInteger[]IMAGE_LIST={R.drawable.image001,
  25. R.drawable.image002,R.drawable.java_image};
  26. privatestaticintindex=0;
  27. privatestaticfinalintLEN=IMAGE_LIST.length;
  28. @Override
  29. publicvoidonCreate(BundlesavedInstanceState){
  30. super.onCreate(savedInstanceState);
  31. requestWindowFeature(Window.FEATURE_NO_TITLE);
  32. RelativeLayoutmain_view=newRelativeLayout(this);
  33. switcher=newImageSwitcher(this);
  34. main_view.addView(switcher);
  35. switcher.setId(SWITCHER);
  36. switcher.setFactory(this);
  37. switcher.setImageResource(IMAGE_LIST[index]);
  38. setContentView(main_view);
  39. Buttonnext=newButton(this);
  40. next.setId(NEXT_BUTTON);
  41. next.setText("下一张");
  42. next.setOnClickListener(this);
  43. RelativeLayout.LayoutParamsparam=newRelativeLayout.LayoutParams(80,
  44. 80);
  45. param.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM,SWITCHER);
  46. main_view.addView(next,param);
  47. param=newRelativeLayout.LayoutParams(80,80);
  48. Buttonpre=newButton(this);
  49. pre.setText("前一张");
  50. pre.setId(PRE_BUTTON);
  51. pre.setOnClickListener(this);
  52. param.addRule(RelativeLayout.ALIGN_PARENT_RIGHT,NEXT_BUTTON);
  53. main_view.addView(pre,param);
  54. }
  55. @Override
  56. publicvoidonClick(Viewv){
  57. switch(v.getId()){
  58. caseNEXT_BUTTON:
  59. index++;
  60. if(index>=LEN){
  61. index=0;
  62. }
  63. switcher.setImageResource(IMAGE_LIST[index]);
  64. break;
  65. casePRE_BUTTON:
  66. index--;
  67. if(index<0){
  68. index=LEN-1;
  69. }
  70. switcher.setImageResource(IMAGE_LIST[index]);
  71. break;
  72. default:
  73. break;
  74. }
  75. }
  76. @Override
  77. publicViewmakeView(){
  78. returnnewImageView(this);
  79. }
  80. }

这个ImageSwitcher 类 ,必须设置一个 视图工厂,这个主要是用来显示 图片的地方,,和父窗口独立的,

实例化 ViewSwitcher.ViewFactory 接口,,

有一个 makeView()方法 就是用来 显示图片的 view ,

这里就简单的 返回了 默认的 new ImageVIew(this) 。

switcher.setImageResource(IMAGE_LIST[index]); 这个可以 显示指定的图片资源 。默认情况下是第一张图片。

当点击一下 按钮 ,就会切换到相应的图片。

官方的Android文档中,javadoc 并没有过多的对这个类 进行解释 。也许不太常用。。

下面是显示效果.

更多相关文章

  1. android 拍照或从相册获取图片 返回 bitmap
  2. Android(安卓)WebView如何加载assets下的html文件
  3. Android中banner的使用步骤
  4. android上传图片到服务器(使用base64字节流的形式通过 AsyncHttpC
  5. 【Android(安卓)界面效果49】RecyclerView高度随Item自适应
  6. Android(安卓)Logcat 报错:Could not create the view: For input
  7. android显示png图片,原来透明的地方都变成黑色的了
  8. Android(安卓)图片文件夹区别
  9. 在Android上使用ZXing识别条码 二次开发笔记 (2)

随机推荐

  1. 垂直竖向的Android TabLayout
  2. android屏幕适配建议
  3. android的文件系统结构简单介绍
  4. Android中自定义标题栏样式的两种方法
  5. Android 桌面组件【widget】 初学
  6. Android 动态加载APK--代码安装、获取资
  7. Apache Ant 环境开发Android应用 二
  8. Gradle DSL method not found: 'android(
  9. Android中监听语言变化的两种方式
  10. android opengl floatbuffer