Android中如何实现手势翻页效果
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍了Android中如何实现手势翻页效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android中如何实现手势翻页效果文章都会有所收获,下面我们一起来看
千家信息网最后更新 2025年02月01日Android中如何实现手势翻页效果
这篇文章主要介绍了Android中如何实现手势翻页效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android中如何实现手势翻页效果文章都会有所收获,下面我们一起来看看吧。
activity_main.xml布局界面代码:
MainActivity.java逻辑代码:
package com.fukaimei.gestureflip;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.GestureDetector;import android.view.MotionEvent;import android.view.View;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.ImageView;import android.widget.ViewFlipper;public class MainActivity extends AppCompatActivity implements GestureDetector.OnGestureListener { // ViewFlipper实例 ViewFlipper flipper; // 定义手势检测实例 GestureDetector detector; // 定义一个动画数组,用于为ViewFlipper指定切换动画效果 Animation[] animations = new Animation[4]; // 定义手势动作亮点之间的最小距离 final int FLIP_DISTANCE = 50; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 创建手势检测器 detector = new GestureDetector(this, this); // 获得ViewFlipper实例 flipper = (ViewFlipper) this.findViewById(R.id.flipper); // 为ViewFlipper添加8个ImageView组件 flipper.addView(addImageView(R.drawable.img01)); flipper.addView(addImageView(R.drawable.img02)); flipper.addView(addImageView(R.drawable.img03)); flipper.addView(addImageView(R.drawable.img04)); flipper.addView(addImageView(R.drawable.img05)); flipper.addView(addImageView(R.drawable.img06)); flipper.addView(addImageView(R.drawable.img07)); flipper.addView(addImageView(R.drawable.img08)); // 初始化Animation数组 animations[0] = AnimationUtils.loadAnimation(this, R.anim.left_in); animations[1] = AnimationUtils.loadAnimation(this, R.anim.left_out); animations[2] = AnimationUtils.loadAnimation(this, R.anim.right_in); animations[3] = AnimationUtils.loadAnimation(this, R.anim.right_out); } // 定义添加ImageView的工具方法 private View addImageView(int resId) { ImageView imageView = new ImageView(this); imageView.setImageResource(resId); imageView.setScaleType(ImageView.ScaleType.CENTER); return imageView; } @Override public boolean onTouchEvent(MotionEvent event) { // 将该Activity上的触碰事件交给GestureDetector处理 return detector.onTouchEvent(event); } @Override public boolean onDown(MotionEvent e) { return false; } @Override public void onShowPress(MotionEvent e) { } @Override public boolean onSingleTapUp(MotionEvent e) { return false; } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { return false; } @Override public void onLongPress(MotionEvent e) { } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { // 如果第一个触点事件的X坐标大于第二个触点事件的X坐标超过FLIP_DISTANCE // 也就是手势从右向左滑 if (e1.getX() - e2.getX() > FLIP_DISTANCE) { // 为flipper设置切换的动画效果 flipper.setInAnimation(animations[0]); flipper.setOutAnimation(animations[1]); flipper.showPrevious(); return true; } // 如果第二个触点事件的X坐标大于第一个触点事件的X坐标超过FLIP_DISTANCE // 也就是手势从右向左滑 else if (e2.getX() - e1.getX() > FLIP_DISTANCE) { // 为flipper设置切换的动画效果 flipper.setInAnimation(animations[2]); flipper.setOutAnimation(animations[3]); flipper.showNext(); return true; } return false; }}
anim/left_in.xml代码:
anim/left_out.xml代码:
anim/right_in.xml代码:
anim/right_out.xml代码:
关于"Android中如何实现手势翻页效果"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Android中如何实现手势翻页效果"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
手势
效果
代码
事件
动画
坐标
触点
实例
知识
切换
也就是
内容
数组
篇文章
检测
最小
之间
亮点
价值
动作
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库经历了三个阶段的特点
国税服务器ip
我的世界官方服务器ip
mfc删除数据库中的数据
2012数据库的安全密钥
计算机网络技术班班旗
剪纸作品组合网络安全主题画
温州软件开发公司怎么样
联联网络技术有限公司
穿越火线各大外国服务器
河南企业软件开发市场价
长沙管理软件开发收费多少
360安全卫土服务器版
管理索引服务器
美国网络安全保险起源
网络安全法多少条规定具有
网络安全任务场景
网络安全自我检讨
大话西游服务器更新
我的世界服务器建筑插件
网络安全如何急救
网络技术群追款
毕马威网络安全法解读
游戏动漫和软件开发怎么样
软件开发就业薪资
计算机网络技术课外书
服务器断开连接10112
数据库发生丢失修改的原因
涉密资质软件开发乙级申请条件
网络技术数据库技术信息安全