博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AdapterViewFlipper功能 自动播放的图片库
阅读量:5089 次
发布时间:2019-06-13

本文共 3088 字,大约阅读时间需要 10 分钟。

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

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>

 

效果

转载于:https://www.cnblogs.com/wwjldm/p/6929563.html

你可能感兴趣的文章
暗恋时最心酸的一刻
查看>>
myeclipse8.5安装axis2 1.3
查看>>
爪哇国新游记之二十六----迷宫寻路
查看>>
centos6.5安装supervisor
查看>>
R语言适配问题集锦
查看>>
map和string的使用方法
查看>>
PowerShell
查看>>
界面使用webview,并且webview里面有图片进行自动切换导致界面上滚动条卡顿。...
查看>>
从大公司做.NET 开发跳槽后来到小公司的做.NET移动端微信开发的个人感慨
查看>>
在Thinkphp中使用AJAX实现无刷新分页
查看>>
磁盘配额(Quota)的应用与实践
查看>>
(转) IOS开发者证书制作
查看>>
使用super调用父类的构造方法
查看>>
中断类型表
查看>>
六度空间(MOOC)
查看>>
Python小世界:项目虚拟环境配置的N种方法
查看>>
Guava Cache 数据变化实现回调的监听器RemovalListener
查看>>
Java类加载器ClassLoader
查看>>
[Leetcode][JAVA] Gas Station
查看>>
Android笔记之Notification使用
查看>>