效果图:

上代码:

Activity:

package com.example.ViewFlipper;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import android.provider.MediaStore;

import android.util.Log;

import android.view.GestureDetector;

import android.view.MotionEvent;

import android.widget.RadioButton;

import android.widget.RadioGroup;

import android.widget.ViewFlipper;

import com.example.recyclearapplication.R;

public class ViewFlipperActivity extends AppCompatActivity {

private GestureDetector mDetector;

private ViewFlipper mViewFlipper;

private RadioGroup mRadiioGroup;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_view_flipper);

initView();

initData();

}

public void initView() {

mViewFlipper = (ViewFlipper) findViewById(R.id.vflp_help);

mRadiioGroup = findViewById(R.id.radio_group);

}

public void initData() {

//创建手势识别对象,传入我们的回调监听对象

mDetector = new GestureDetector(this, new MyGestureDetector());

RadioButton radioButton = (RadioButton) mRadiioGroup.getChildAt(0);

mRadiioGroup.setEnabled(false);

radioButton.setChecked(true);

}

/**

* 手势回调方法

* @param event

* @return

*/

@Override

public boolean onTouchEvent(MotionEvent event) {

return mDetector.onTouchEvent(event);

}

/**

* 手势监听类

*/

class MyGestureDetector implements GestureDetector.OnGestureListener {

@Override

public boolean onDown(MotionEvent motionEvent) {

return false;

}

@Override

public void onShowPress(MotionEvent motionEvent) {

}

@Override

public boolean onSingleTapUp(MotionEvent motionEvent) {

return false;

}

@Override

public boolean onScroll(MotionEvent motionEvent, MotionEvent motionEvent1, float v, float v1) {

return false;

}

@Override

public void onLongPress(MotionEvent motionEvent) {

}

@Override

public boolean onFling(MotionEvent m1, MotionEvent m2, float v, float v1) {

//左滑

if (m1.getX() > m2.getX()) {

//左滑后下一张进来的动画

mViewFlipper.setInAnimation(ViewFlipperActivity.this, R.anim.right_in);

//左滑当前页面消息的动画

mViewFlipper.setOutAnimation(ViewFlipperActivity.this, R.anim.right_out);

//下一张

mViewFlipper.showNext();

//mViewFlipper.getDisplayedChild()获取当前展示的position

RadioButton radioButton = (RadioButton) mRadiioGroup.getChildAt(mViewFlipper.getDisplayedChild());

radioButton.setChecked(true);

Log.e("TAG", "" + mViewFlipper.getDisplayedChild());

}

//右滑

else if (m1.getX() < m2.getX()) {

//右滑后下一张进来的动画

mViewFlipper.setInAnimation(ViewFlipperActivity.this, R.anim.left_in);

//右滑当前页面消息的动画

mViewFlipper.setOutAnimation(ViewFlipperActivity.this, R.anim.left_out);

//上一张

mViewFlipper.showPrevious();

RadioButton radioButton = (RadioButton) mRadiioGroup.getChildAt(mViewFlipper.getDisplayedChild());

radioButton.setChecked(true);

Log.e("TAG", "" + mViewFlipper.getDisplayedChild());

}

return false;

}

}

}

xml:

github地址:https://github.com/David-lvfujiang/RecyclearApplication

android viewflipper图片轮播,android开发:ViewFlipper实现图片轮播相关推荐

  1. 图片压缩工具,个人开发,5M图片压缩成500k的质量相当于无变化

    图片压缩工具,个人开发.非常好用,5M压缩成500k的图片质量相当于无变化!!! upload.jar为图片压缩jar包,下载后放去某个盘 之后 cmd 执行jar包:java -jar upload ...

  2. pc端jquery左右按钮控制带缩略图的图片切换代码_Web开发实用的图片预览插件,简单零依赖——PhotoSwipe...

    介绍 PhotoSwipe是一个JavaScript库,没有依赖项.要说唯一的依赖项那就是Vanilla.js(原生js),因此你可以在你的任何Web项目中使用,包括主流的Vue.React.Angu ...

  3. Android商城开发----viewPager实现广告轮播(在首页Fragment中实现)

    Android商城开发----在商城首页Fragment使用viewPager实现广告轮播 写在前面:本篇文章建立在创建底部导航栏之后,对商城首页进行开发.创建底部导航栏的内容请查看:Android开 ...

  4. android 3d布局轮播,android 图片/视频混合轮播控件banner

    android 图片/视频混合轮播控件banner 在youth5201314的图片轮播控件做的修改 原作者github地址:https://github.com/youth5201314/banne ...

  5. android 科技动画,android开发ViewFlipper触摸动画

    [IT168技术]介绍:在教程中,我们可以学习如何解决在Android项目的共同问题,有更多的关于Android的项目信息,我建议你下载ADT Android Pluglins和Eclipse. 背景 ...

  6. Android基础入门教程——2.4.13 ViewFlipper(翻转视图)的基本使用

    Android基础入门教程--2.4.13 ViewFlipper(翻转视图)的基本使用 标签(空格分隔): Android基础入门教程 本节引言: 本节给大家带了的是ViewFlipper,它是An ...

  7. Android入门教程四十六之ViewFlipper(翻转视图)的基本使用

    本节给大家带了的是ViewFlipper,它是Android自带的一个多页面管理控件,且可以自动播放! 和ViewPager不同,ViewPager是一页页的,而ViewFlipper则是一层层的,和 ...

  8. Android入门第31天-Android里的ViewFlipper翻转视图的使用

    介绍 本篇给大家带了的是ViewFlipper,它是Android自带的一个多页面管理控件,且可以自动播放! 和ViewPager不同,ViewPager是一页页的,而ViewFlipper则是一层层 ...

  9. android开源轮播图框架,最好用的轮播插件框架都在这里了,Github流行轮播框架...

    一般来说,一个完整的WEB项目都少不了使用JavaScript轮播插件.对于整个简单的轮播插件,有时会我们会要求它有更可控的样式,不同的使用场景也需要不同的样式,最理想的轮播插件就是可定制.除了原生开 ...

  10. android 自动 轮播图,Android-自定义View实现轮播图

    主要步骤 1.自定义View的实现过程(测量.布局.绘制) 2.事件拦截机制方法.图片轮播时的Scroller对象使用 3.轮播图自动轮播时,Timer.TimerTask.Handler三者的结合 ...

最新文章

  1. 人工智能技术改变传统驾驶行为
  2. 学python有哪些书推荐-有哪些Python学习路线值得推荐?线路及书籍推荐都在这里...
  3. log4j警告:WARN Please initialize the log4j system properly 的解决方法
  4. java activiti jbpm_activiti和jbpm工作流引擎哪个比较好?
  5. java模板方法模式_Java中的模板方法模式
  6. 最近任务 react文章列表
  7. java开发sublime插件_开发者最常用的8款Sublime text 3插件
  8. c语言pow函数原型_c语言中的pow()函数怎么用
  9. FPGA下载(kintex-7)
  10. vue——动态吸顶组件
  11. coldfusion_Coldfusion数据结构简介第IV部分–查询
  12. 数据库入门-----Windows平台下按照和配置MySQL
  13. 1415-2团队博客汇总表
  14. 用计算机术语写毕业寄语,毕业寄语唯美句子(精选55句)
  15. Python 蓝桥杯试题 基础练习 特殊回文数
  16. python打包exe报错编码问题_python打包成exe,但执行exe报错,求解。
  17. 【CSS】盒子模型内边距 ② ( 内边距复合写法 | 代码示例 )
  18. 计算机发展简史 计算机的发展历史介绍
  19. 如何删除Mac OS Monterey自带(预装)软件?
  20. 《权力的游戏》蕴含的管理经

热门文章

  1. cmd命令大全/cmd命令提示符大全
  2. toadstool sql格式化
  3. 【Kafka】kafka方式消息不丢失的一些参数设置
  4. 【zookeeper】zookeeper znode 存储系统解密
  5. 【kafka】Kafka ConsumerOffsetChecker 命令失效问题解决 卡死
  6. 【Flink】Flink启动报错 BindException: Could not start rest endpoint on any port in port range 7089
  7. 【Kafka】Consumer group 'console-consumer-28367' has no active members.
  8. 【linux】linux一次杀死多个进程
  9. 【linux系统编程】理解冯•诺依曼体系结构
  10. Spring事务方法与非事务方法执行相互调用不回滚,你踩过这个坑没?