Android使用ViewFlipper实现左右滑动效果面
在我的博客中,上次是使用ViewPager实现左右滑动的效果的,请看文章:Android使用ViewPager实现左右滑动效果 。
这次我来使用ViewFlipper实现这种效果,好了,先看看效果吧:
效果看完了就来实现这个效果。
1.布局文件
主界面使用下面的布局:
- <?xml version="1.0" encoding="utf-8"?>
- <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical" >
- <ViewFlipper android:id="@+id/ViewFlipper1"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- </ViewFlipper>
- <LinearLayout
- android:orientation="horizontal"
- android:layout_width="wrap_content"
- android:layout_gravity="bottom|center_horizontal"
- android:layout_height="wrap_content"
- >
- <ImageView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@drawable/da"
- android:id="@+id/imageview1"
- />
- <ImageView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@drawable/xiao"
- android:id="@+id/imageview2"
- />
- <ImageView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@drawable/xiao"
- android:id="@+id/imageview3"
- />
- <ImageView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@drawable/xiao"
- android:id="@+id/imageview4"
- />
- </LinearLayout>
- </FrameLayout>
简单的介绍一下布局文件:最外层是一个FrameLayout,使用FrameLayout就是为了是的下面的四个点在ViewFlipper上面。LayoutLayout在FrameLayout的下面和水平居中。
2.ViewFlipper的使用
- flipper = (ViewFlipper) this.findViewById(R.id.ViewFlipper1);
- flipper.addView(addImageView(R.drawable.png1o));
- flipper.addView(addImageView(R.drawable.png2o));
- flipper.addView(addImageView(R.drawable.png3o));
- flipper.addView(addView());
在Activity中声明一个ViewFlipper的对象,在布局中找到。将三张图片加到ViewFlipper中,另外再加一个View,这个View是从XML布局文件中得到的。布局文件如下:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <Button
- android:id="@+id/button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginBottom="45dp"
- android:text="进入程序"
- android:textColor="#3E3E3E"
- android:layout_gravity="center_horizontal"
- />
- </LinearLayout>
在这个布局文件中有一个Button,用于跳转Activity用。
在Activity中声明一个GestureDetector对象,在onCreate方法中分配内存。
detector = new GestureDetector(this);
使用this为参数,那么就要使得activity类impllements OnGestureListener接口。重写几个方法。覆盖父类的onTouchEvent方法,在这个方法中如下写:
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- // TODO Auto-generated method stub
- return this.detector.onTouchEvent(event);
- }
这样就使得detector能接受消息响应了。
在实现OnGestureListener的方法中判断用户的滑动来切换界面:
- @Override
- public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
- float velocityY) {
- System.out.println("in------------>>>>>>>");
- if (e1.getX() - e2.getX() > 120) {
- if (i < 3) {
- i++;
- setImage(i);
- this.flipper.setInAnimation(AnimationUtils.loadAnimation(this,
- R.anim.animation_right_in));
- this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this,
- R.anim.animation_left_out));
- this.flipper.showNext();
- }
- return true;
- }
- else if (e1.getX() - e2.getX() < -120) {
- if (i > 0) {
- i--;
- setImage(i);
- this.flipper.setInAnimation(AnimationUtils.loadAnimation(this,
- R.anim.animation_left_in));
- this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this,
- R.anim.animation_right_out));
- this.flipper.showPrevious();
- }
- return true;
- }
- return false;
- }
- void setImage(int i)
- {
- for(int j=0;j<4;j++)
- {
- if(j!=i)
- iamges[j].setImageResource(R.drawable.xiao);
- else
- iamges[j].setImageResource(R.drawable.da);
- }
- }
界面切换的时候改变下面的四个小ImageView的图片。切换的动画在res/anim文件夹中,这里就不多说了。
整个工程的下载:Android使用ViewFlipper实现左右滑动效果面。。
Android使用ViewFlipper实现左右滑动效果面相关推荐
- Android之Android实现浮层的上下滑动(支持内部添加View)
前言 我K,今天居然是情人节,对于资深的单身狗来说,简直是个噩耗,今天注定是各种秀恩爱,心塞中.... 话题到此结束,管他什么情人节,今天给大家带来的是一个浮层的上下滑动,浮层滑动时分三种状态:全部显 ...
- Android实现浮层的上下滑动(支持内部加入View)
前言 我K.今天竟然是情人节.对于资深的单身狗来说,简直是个噩耗,今天注定是各种秀恩爱.心塞中.. .. 话题到此结束,管他什么情人节,今天给大家带来的是一个浮层的上下滑动,浮层滑动时分三种状态:所有 ...
- Android-解决ViewFlipper与ScrollView滑动响应事件拦截的问题【转】
2019独角兽企业重金招聘Python工程师标准>>> 最近在做一个简单的展示界面时,遇到了一个比较棘手的问题.由于要展示多项内容,所以使用ViewFlipper作为水平滑动容器:而 ...
- android列表滑到底部,Android中判断listview是否滑动到顶部和底部的实现方法
今天实现listview的下拉刷新和上拉加载的时候,遇到了一个问题,*就是说需要根据listview中滑动的位置来进行下拉刷新和上拉加载.* 具体点,只有当我的listview滑动到最顶部的时候,这时 ...
- Android透明到白色滑动渐变,Android中Toolbar随着ScrollView滑动透明度渐变效果实现...
Android中Toolbar随着ScrollView滑动透明度渐变效果实现 一.思路:监听ScrollView的滑动事件 不断的修改Toolbar的透明度 二.注意 1.ScrollView 6.0 ...
- Android开发之无bug滑动删除源码(非第三方库)
Android开发之无bug滑动删除源码(非第三方库源码请在最后面自行下载) 1.我们先来看下效果图:上边是抽取出来的demo,下边是公司用到的项目 2.我们来看下如何调用(我们这里以listView ...
- android 自定义view滚动条,Android自定义View实现等级滑动条的实例
Android自定义View实现等级滑动条的实例 实现效果图: 思路: 首先绘制直线,然后等分直线绘制点: 绘制点的时候把X值存到集合中. 然后绘制背景图片,以及图片上的数字. 点击事件down的时候 ...
- Android RecyclerView(九)滑动监听综述
Android RecyclerView(九)滑动监听 1 RecyclerView 的滑动监听 1.1 RecyclerView 设置滑动监听 mRecyclerView.setOnScrollLi ...
- android+qq底部界面,Android 高仿QQ 界面滑动效果
Android高仿QQ界面滑动效果 点击或者滑动切换画面,用ViewPager实现, 首先是布局文件: android:layout_width="match_parent" an ...
最新文章
- bash: dotnet: 未找到命令..._Docker 常用命令(.NET Core示例)
- python pdf处理 图片_在Python中从PDF提取图像而无需重新采样?
- 怎么看python环境变量配置是否好了验证图片_简述验证Anaconda是否安装成功的两种方式和Anaconda环境变量配置过程...
- Python 入门之格式化输出
- 支付,造就金融科技生态契机——保险科技生态建设...
- 抽象类和接口有哪些共同点和区别
- Silverlight初级教程-概述
- iOS:NSDate的主要几种时间形式
- 树的最长路径详解(C++)
- js替换url指定参数的值
- 也可以说不漂亮的飞鸽传书
- 计算机cpu intel,intel CPU后面带F是什么意思?Intel处理器后面带“F”含义详解
- #!/bin/bash 和 #!/usr/bin/env bash 的区别
- PCB碎碎念——贴片封装与标识
- frps port unavailable
- RoboMaster无人机设计
- 职场宝典:让你平步青云的10个谈话技巧[转载]
- php接入七牛云api
- 未能加载文件或程序集“Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=
- C语言之随机数函数( rand() )的使用方法
热门文章
- 【Android 事件分发】事件分发源码分析 ( ViewGroup 事件传递机制 一 )
- 【MATLAB】三维图形绘制 ( 三维平面图 | 二维网格 | meshgrid 函数 | 绘制网格 | mesh 函授 | 绘制平面 | surf 函数 | 绘制等高线 | contour 函数 )
- 【错误记录】Flutter 报错 ( Android Studio 中 main.dart 左侧不显示设备栏 )
- 【Android 安全】DEX 加密 ( 代理 Application 开发 | 加载 dex 文件 | 反射获取系统的 Element[] dexElements )
- 【Android 性能优化】应用启动优化 ( 安卓应用启动分析 | Launcher 应用简介 | Launcher 应用源码简介 | Launcher 应用快捷方式图标点击方法分析 )
- 【Java 并发编程】CountDownLatch 使用场景示例
- Windows 8各个版本的功能详解与对比【中文详表】
- springmvc学习资料整理
- 在Linux命令行下运行Matlab
- 日期格式化的“疑难杂症”