案例中有"上一个""下一个""自动播放",但是我觉得可以更加完善一下,点击自动播放,按钮变成"停止播放",在按"停止播放"变为"自动播放",同样的排除在自动播放时,按下"上一个"和"下一个"均变为 "自动播放"

MainActivity.java

  1. public class MainActivity extends Activity
  2. {
  3. int[] imageIds = new int[]
  4. {
  5. R.drawable.shuangzi, R.drawable.shuangyu,
  6. R.drawable.chunv, R.drawable.tiancheng, R.drawable.tianxie,
  7. R.drawable.sheshou, R.drawable.juxie, R.drawable.shuiping, R.drawable.shizi, R.drawable.baiyang, R.drawable.jinniu,
  8. R.drawable.mojie};
  9. private AdapterViewFlipper flipper;
  10. private Button button_auto;
  11. @Override
  12. public void onCreate(Bundle savedInstanceState)
  13. {
  14. super.onCreate(savedInstanceState);
  15. setContentView(R.layout.main);
  16. flipper = (AdapterViewFlipper) findViewById(R.id.flipper);
  17. button_auto = (Button) findViewById(R.id.button_auto);
  18. // 创建一个BaseAdapter对象,该对象负责提供Gallery所显示的列表项
  19. BaseAdapter adapter = new BaseAdapter()
  20. {
  21. @Override
  22. public int getCount()
  23. {
  24. return imageIds.length;
  25. }
  26. @Override
  27. public Object getItem(int position)
  28. {
  29. return position;
  30. }
  31. @Override
  32. public long getItemId(int position)
  33. {
  34. return position;
  35. }
  36. // 该方法返回的View代表了每个列表项
  37. @Override
  38. public View getView(int position, View convertView, ViewGroup parent)
  39. {
  40. // 创建一个ImageView
  41. ImageView imageView = new ImageView(MainActivity.this);
  42. imageView.setImageResource(imageIds[position]);
  43. // 设置ImageView的缩放类型
  44. imageView.setScaleType(ImageView.ScaleType.FIT_XY);
  45. // 为imageView设置布局参数
  46. imageView.setLayoutParams(new ViewGroup.LayoutParams(
  47. LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
  48. return imageView;
  49. }
  50. };
  51. flipper.setAdapter(adapter);
  52. }
  53. public void prev(View source)
  54. {
  55. // 显示上一个组件
  56. flipper.showPrevious();
  57. // 停止自动播放
  58. flipper.stopFlipping();
  59. button_auto.setText("自动播放");
  60. }
  61. public void next(View source)
  62. {
  63. // 显示下一个组件。
  64. flipper.showNext();
  65. // 停止自动播放
  66. flipper.stopFlipping();
  67. button_auto.setText("自动播放");
  68. }
  69. public void auto(View source)
  70. {
  71. String sting=button_auto.getText().toString();
  72. if (sting == "自动播放") {
  73. // 开始自动播放
  74. flipper.startFlipping();
  75. button_auto.setText("停止播放");
  76. } else {
  77. flipper.stopFlipping();
  78. button_auto.setText("自动播放");
  79. }
  80. }
  81. }

XML文件

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <RelativeLayout
  3. xmlns:android="http://schemas.android.com/apk/res/android"
  4. android:layout_width="match_parent"
  5. android:layout_height="match_parent">
  6. <AdapterViewFlipper
  7. android:id="@+id/flipper"
  8. android:layout_width="match_parent"
  9. android:layout_height="match_parent"
  10. android:flipInterval="2000"
  11. android:layout_alignParentTop="true"/>
  12. <Button
  13. android:layout_width="wrap_content"
  14. android:layout_height="wrap_content"
  15. android:layout_alignParentBottom="true"
  16. android:layout_alignParentLeft="true"
  17. android:onClick="prev"
  18. android:text="上一个"/>
  19. <Button
  20. android:layout_width="wrap_content"
  21. android:layout_height="wrap_content"
  22. android:layout_alignParentBottom="true"
  23. android:layout_centerHorizontal="true"
  24. android:onClick="next"
  25. android:text="下一个"/>
  26. <Button
  27. android:id="@+id/button_auto"
  28. android:layout_width="wrap_content"
  29. android:layout_height="wrap_content"
  30. android:layout_alignParentBottom="true"
  31. android:layout_alignParentRight="true"
  32. android:onClick="auto"
  33. android:text="自动播放"/>
  34. </RelativeLayout>

效果

AdapterViewFlipper功能 自动播放的图片库的更多相关文章

  1. ViewFlipper实现自动播放的图片库

    作者实现的基础上,加上了文字的变换 public class MainActivity extends Activity { private ViewFlipper viewFlipper; priv ...

  2. 基于fullpage的自动播放,手动播放,暂停页面的功能

    功能如下: 1.默认加载方式为“自动播放 ”方式,即从第1屏至第5屏 页面循环加载显示,每屏每次仅显示1个页面,页面间停留时间为“10”秒2.手动播放过程中,按数字键“1”-“5”,将直接切到指定页面 ...

  3. 树莓派USB存储设备自动挂载并通过脚本实现自动拷贝,自动播放视频,脚本自动升级等功能

    需求:首先需要树莓派自动挂载USB设备,然后扫描USB指定目录下文件,将相关文件拷贝至树莓派指定目录,然后通过omxplayer循环播放新拷贝文件视频 1. 树莓派实现USB存储设备自动挂载 树莓派U ...

  4. 阿里云 Aliplayer高级功能介绍(九):自动播放体验

    基本介绍 经常会碰到客户询问,为什么我设置了autoplay为true,但是没有自动播放,每次都要向客户解释这个是浏览器从用户体验角度考虑做的限制,客户会继续询问那我要怎么做? 针对这个问题Alipl ...

  5. (IOS可自动播放)使用bxslider做了一个切换图片跟随播放MP3的功能

    代码: <!DOCTYPE html> <html lang="zh-Hans"> <head> <meta charset=" ...

  6. html5音频audio对象处理以及ios微信端自动播放和息屏后唤醒的判断---可供参考(功能都完整实现了,只是细节还没处理的很好)

    // html模版中的 此处结合了weui样式整合的微信手机端片段代码(不可直接粘贴复制进行使用)里面含有一些php的写法,可直接略过..###重点参考js代码### <div> < ...

  7. js原生选项卡(自动播放无缝滚动轮播图)二

    今天分享一下自动播放轮播图,自动播放轮播图是在昨天分享的轮播图的基础上添加了定时器,用定时器控制图片的自动切换,函数中首先封装一个方向的自动播放工能的小函数,这个函数中添加定时器,定时器中可以放向右走 ...

  8. Android ViewPager自动播放

    在开发Android应用的过程中,ViewPager有时候需要自动播放的功能,今天就介绍一下自动播放功能的实现,直接上代码: // viewpager auto play private static ...

  9. 仿微博视频边下边播之滑动TableView自动播放-b

    Tips:这次的内容分为两篇文章讲述01.[iOS]仿微博视频边下边播之封装播放器 讲述如何封装一个实现了边下边播并且缓存的视频播放器.02.[iOS]仿微博视频边下边播之滑动TableView自动播 ...

随机推荐

  1. air 桌面应用发布后可以删除的文件

    ****\Adobe AIR\Versions\1.0 下的文件夹Resources,可以整个删除 ***META-INF\AIR目录下的application.xml配置文件可修改initialWi ...

  2. JS、CSS以及img对DOMContentLoaded事件的影响

    最近在做性能有关的数据上报,发现了两个非常有意思的东西:Chrome开发者工具的Timeline分析面板,以及DOMContentLoaded事件.一个是强大的令人发指的性能分析工具,一个是重要的性能 ...

  3. EL表达式获取请求

    1EL 表达式语法: ${ EL 表达式}    它的特点: 1自动转换类型,  2使用简单. 2 EL表达式具有类型无关性,可以使用“.”或者“[]”操作符在相应的作用域(page  ,  requ ...

  4. http://dl-ssl.google.com/android/eclipse/ 无法访问的解决办法

    很明显,国内网络和谐掉了google这个服务器,可以强制指向下Host ,以下是添加内容: 74.125.237.1 dl-ssl.google.com 具体操作方式: 点击桌面左下角开始菜单中的搜索 ...

  5. Ansiable Manage MySQL global variables

    mysql_variables - Manage MySQL global variables New in version 1.3. Synopsis Requirements (on host t ...

  6. ORACLE用户永不被锁

    alter profile default limit FAILED_LOGIN_ATTEMPTS UNLIMITED;

  7. git仓库搬家

    1). 从原地址克隆一份裸版本库 git clone --bare git://xxxxx.com/xxx.git 2). 然后到新的 Git 服务器上创建一个新项目 3). 以镜像推送的方式上传代码 ...

  8. Quartz入门

    Quartz体系结构: 明白Quartz怎么用,首先要了解Scheduler(调度器).Job(任务)和Trigger(触发器)这3个核心的概念.请注意加粗内容. 1. Job: 是一个接口,只定义一 ...

  9. 安装和使用iOS的包管理工具CocoaPods

    CocoaPods是ruby实现的,需要用ruby进行安装,mac自带ruby,如果没有ruby的需要先安装ruby.   安装CocoaPods命令 安装CocoaPods命令:sudo gem i ...

  10. linux系统分区表修复

    有些时候在系统突然断电或硬盘只读后在看机会出现报错,开机到不了登录界面,而是来到一个提示: Give root password for maintenance(or type Control-d t ...