当前位置:   article > 正文

viewFlipper的使用实现自动轮播广告图片_使用viewflipper进行自动图片轮播

使用viewflipper进行自动图片轮播


第一步:layout文件


  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. tools:context="${relativePackage}.${activityClass}" >
  6. <ViewFlipper
  7. android:id="@+id/viewflipper"
  8. android:layout_width="match_parent"
  9. android:layout_height="match_parent" >
  10. </ViewFlipper>
  11. </RelativeLayout>

第二步:java文件


  1. package com.example.testviewflipper;
  2. import android.R.integer;
  3. import android.app.Activity;
  4. import android.os.Bundle;
  5. import android.util.Log;
  6. import android.view.Menu;
  7. import android.view.MenuItem;
  8. import android.view.MotionEvent;
  9. import android.view.View;
  10. import android.view.View.OnClickListener;
  11. import android.view.View.OnTouchListener;
  12. import android.widget.ImageView;
  13. import android.widget.Toast;
  14. import android.widget.ViewFlipper;
  15. public class MainActivity extends Activity {
  16. ViewFlipper viewFlipper;
  17. float startX = 0;
  18. ImageView imageView1;
  19. ImageView imageView2;
  20. @Override
  21. protected void onCreate(Bundle savedInstanceState) {
  22. super.onCreate(savedInstanceState);
  23. setContentView(R.layout.activity_main);
  24. viewFlipper = (ViewFlipper) findViewById(R.id.viewflipper);
  25. /**
  26. * 数据源
  27. */
  28. imageView1 = new ImageView(this);
  29. imageView1.setBackgroundResource(R.drawable.pic1);
  30. imageView2 = new ImageView(this);
  31. imageView2.setBackgroundResource(R.drawable.pic2);
  32. /**
  33. * 添加子view
  34. */
  35. viewFlipper.addView(imageView1);
  36. viewFlipper.addView(imageView2);
  37. /**
  38. * 设置view切换的动画
  39. */
  40. // viewFlipper.setInAnimation(inAnimation);
  41. // viewFlipper.setOutAnimation(outAnimation);
  42. /**
  43. * 设置view切换的时间间隔
  44. */
  45. viewFlipper.setFlipInterval(2000);
  46. /**
  47. * view开始切换
  48. */
  49. viewFlipper.startFlipping();
  50. /**
  51. * 设置左右滑动事件以及点击事件
  52. */
  53. viewFlipper.setOnTouchListener(new OnTouchListener() {
  54. @Override
  55. public boolean onTouch(View v, MotionEvent event) {
  56. // TODO Auto-generated method stub
  57. switch (event.getAction()) {
  58. case MotionEvent.ACTION_DOWN:
  59. startX = event.getX();
  60. break;
  61. case MotionEvent.ACTION_MOVE:
  62. break;
  63. case MotionEvent.ACTION_UP:
  64. /**
  65. * 点击事件
  66. */
  67. if ((event.getX() - startX) == 0) {
  68. if (imageView1 == viewFlipper.getCurrentView()) {
  69. Toast.makeText(MainActivity.this, "您选择了第一张图片", 2000)
  70. .show();
  71. }
  72. if (imageView2 == viewFlipper.getCurrentView()) {
  73. Toast.makeText(MainActivity.this, "您选择了第二张图片", 2000)
  74. .show();
  75. }
  76. }
  77. /**
  78. * 向右滑动
  79. */
  80. if ((event.getX() - startX) > 100) {
  81. viewFlipper.showNext();
  82. }
  83. /**
  84. * 向左滑动
  85. */
  86. if ((startX - event.getX()) > 100) {
  87. viewFlipper.showPrevious();
  88. }
  89. break;
  90. default:
  91. break;
  92. }
  93. return true;
  94. }
  95. });
  96. }
  97. }


三:源码

源码下载

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/251165
推荐阅读
相关标签
  

闽ICP备14008679号