我们在Windows 平台上要查看多张图片,最简单的办法就是通过 "Window 图片和传真查看器“在 ”下一张“ 和”上一张“之间切换,Android平台上可以通过 ImageSwitcher 类来实现这一效果。ImageSwitcher 类必须设置一个ViewFactory,主要用来将显示的图片和父窗口区分开来,因此需要实现ViewSwitcher.ViewFactory接口,通过makeView()方法来显示图片,这里会返回一个ImageView 对象,而方法 setImageResource用来指定图片资源。首先先让我们看看这个例子的运行效果。

 
示例 
Java代码

  1. package xiaohang.zhimeng;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.view.View.OnClickListener;
  6. import android.widget.Button;
  7. import android.widget.ImageSwitcher;
  8. import android.widget.ImageView;
  9. import android.widget.LinearLayout;
  10. import android.widget.ViewSwitcher.ViewFactory;
  11. public class Activity01 extends Activity implements OnClickListener,
  12. ViewFactory {
  13. // 所有要显示的图片资源索引
  14. private static final Integer[] imagelist = { R.drawable.img1,
  15. R.drawable.img2, R.drawable.img3, R.drawable.img4, R.drawable.img5,
  16. R.drawable.img6, R.drawable.img7, R.drawable.img8, };
  17. // 创建ImageSwitcher对象
  18. private ImageSwitcher m_Switcher;
  19. // 索引
  20. private static int index = 0;
  21. // "下一页"按钮ID
  22. private static final int BUTTON_DWON_ID = 0x123456;
  23. // “上一页”按钮ID
  24. private static final int BUTTON_UP_ID = 0x123457;
  25. // ImageSwitcher对象的ID
  26. private static final int SWITCHER_ID = 0x123458;
  27. @Override
  28. public void onCreate(Bundle savedInstanceState) {
  29. super.onCreate(savedInstanceState);
  30. // 创建一个线性布局LinearLayout
  31. LinearLayout main_view = new LinearLayout(this);
  32. // 创建ImageSwitcher对象
  33. m_Switcher = new ImageSwitcher(this);
  34. // 在线性布局中添加ImageSwitcher视图
  35. main_view.addView(m_Switcher);
  36. // 设置ImageSwitcher对象的ID
  37. m_Switcher.setId(SWITCHER_ID);
  38. // 设置ImageSwitcher对象的数据源
  39. m_Switcher.setFactory((ViewFactory) this);
  40. m_Switcher.setImageResource(imagelist[index]);
  41. // 设置显示上面的线性布局
  42. setContentView(main_view);
  43. // 设置背景图片
  44. main_view.setBackgroundResource(R.drawable.xh);
  45. // 创建“下一张”按钮
  46. Button next = new Button(this);
  47. next.setId(BUTTON_DWON_ID);
  48. next.setText("下一张");
  49. next.setOnClickListener((OnClickListener) this);
  50. LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(100,
  51. 100);
  52. main_view.addView(next, param);
  53. // 创建“上一张”按钮
  54. Button pre = new Button(this);
  55. pre.setId(BUTTON_UP_ID);
  56. pre.setText("上一张");
  57. pre.setOnClickListener((OnClickListener) this);
  58. main_view.addView(pre, param);
  59. }
  60. // 事件监听、处理
  61. public void onClick(View v) {
  62. switch (v.getId()) {
  63. // 下一页
  64. case BUTTON_DWON_ID:
  65. index++;
  66. if (index >= imagelist.length) {
  67. index = 0;
  68. }
  69. // ImageSwitcher对象资源索引
  70. m_Switcher.setImageResource(imagelist[index]);
  71. break;
  72. // 上一页
  73. case BUTTON_UP_ID:
  74. index--;
  75. if (index < 0) {
  76. // 到最后一张
  77. index = imagelist.length - 1;
  78. }
  79. // ImageSwitcher对象资源索引
  80. m_Switcher.setImageResource(imagelist[index]);
  81. default:
  82. break;
  83. }
  84. }
  85. public View makeView() {
  86. // 将所有图片通过ImageView来显示
  87. return new ImageView(this);
  88. }
  89. }

源码 附件 
  xh_04_18_Test.rar (690.79 KB, 下载次数: 0)

切换图片 ImageSwitcher相关推荐

  1. Android左右滑动切换图片

    简要说明 本文采用ImageSwitcher实现左右滑动切换图片.首先调用setFactory方法,设置视图工厂:然后设置手指触碰监听,判断左滑右滑进而切换图片. 本地图片 xml <?xml ...

  2. android自动切换图片,Android应用中图片浏览时实现自动切换功能的方法详解

    先给最终效果图: 当我们在最下边的gallery中切换图片时,上面的大图片会自动切换,切换时有动画效果哦,很简单的一个程序,有待完善更多的功能! activity代码: package cn.com. ...

  3. 阅读《Android 从入门到精通》(24)——切换图片

    切换图片(ImageSwitcher) java.lang.Object; android.view.View; android.widget.ViewGroup; android.widget.Fr ...

  4. javascript设计模式实践之模板方法--具有百叶窗切换图片效果的JQuery插件(二)...

    在上一篇<javascript设计模式实践之迭代器--具有百叶窗切换图片效果的JQuery插件(一)>里,通过采用迭代器模式完成了各初始化函数的定义和调用. 接下来就要完成各个切换效果的编 ...

  5. html简单的图片切换js,一分钟让你学会如何使用js切换图片

    利用js实现简单的动画效果 js简介 JavaScript 是世界上最流行的编程语言. 这门语言可用于 HTML 和 web,更可广泛用于服务器.PC.笔记本电脑.平板电脑和智能手机等设备. Java ...

  6. JavaScript基础15-day17【BOM(Navigator、History、Location)、定时器、切换图片练习、轮播图】

    学习地址: 谷粒学院--尚硅谷 哔哩哔哩网站--尚硅谷最新版JavaScript基础全套教程完整版(140集实战教学,JS从入门到精通) JavaScript基础.高级学习笔记汇总表[尚硅谷最新版Ja ...

  7. 【JavaScript】修改图片src属性切换图片

    今天做项目时其中一个环节需要用到js修改图片src属性切换图片,现在来记录一下 以下是示例: html <img src="/before.jpg" id="img ...

  8. HTML5编程实战之二:用动画的形式切换图片

    本文主要用到的知识 本文主要用到了Canvas API中的drawImage方法,下面对此方法略做介绍. 在Canvas API中绘制图像用drawImage方法,这是一个重载方法,定义如下: con ...

  9. JQuery实现点击按钮切换图片(附源码)--JQuery基础

    JQuery实现切换图片相对比较简单,直接贴代码了哈,有注释噢!疑问请追加评论哈,不足之处还请大佬们指出! 1.案例代码: demo.html: <!DOCTYPE html> <h ...

最新文章

  1. MegEngine亚线性显存优化
  2. 2021年大数据HBase(十):Apache Phoenix的基本入门操作
  3. 真实版删库跑路,宕机36小时市值蒸发9亿!
  4. 外链对网站SEO优化起什么作用?
  5. 机器学习常见算法汇总
  6. 起步,停车——走好你的IT运维管理之路
  7. 【LuoguP33294123】[ZJOI2011]最小割[CQOI2016]不同的最小割
  8. 【Java学习笔记之二十八】深入了解Java8新特性
  9. Solr学习笔记——查询
  10. java编程中的持有对方引用是什么意思?有什么作用?
  11. aspen plus大小_Aspen入门篇2—Aspen Plus 使用介绍
  12. Java 并没有死!
  13. iOS播放器 - AVPlayer
  14. 【java虚拟机序列】java中的垃圾回收与内存分配策略
  15. 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中...
  16. NMAKE makefile内容和功能(1):描述块
  17. 【单片机】数码管显示器仿真
  18. 【Android】高德地图从经纬度获得地址字符串
  19. Vue3动态加载图片
  20. JAVA开发讲义(一)-Java的自白

热门文章

  1. 通过Server-U设置网络共享文件夹的步骤和注意事项
  2. 差分数组|小a的轰炸游戏-牛客317E
  3. 利用属性观察器实现数据绑定
  4. java定向输出程序日志(输出到txt文件中)
  5. Python3中的yield from语法
  6. 线程协作-CountDownLatch
  7. 复杂sql优化步骤与技巧
  8. mysql5.7.17安装问题
  9. quick: setup_mac.sh分析
  10. 20140418--第1讲.开山篇