广告
返回顶部
首页 > 资讯 > 精选 >Android中怎么实现手势翻页效果
  • 815
分享到

Android中怎么实现手势翻页效果

android 2023-05-30 20:05:24 815人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关Android中怎么实现手势翻页效果,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。activity_main.xml布局界面代码:<?xml ve

这篇文章将为大家详细讲解有关Android中怎么实现手势翻页效果,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

activity_main.xml布局界面代码:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="Http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <!-- 定义ViewFlipper组件 --> <ViewFlipper  android:id="@+id/flipper"  android:layout_width="wrap_content"  android:layout_height="wrap_content" /></LinearLayout>

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代码:

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <translate  android:duration="500"  android:fromXDelta="100%p"  android:toXDelta="0" /> <alpha  android:duration="500"  android:fromAlpha="0.1"  android:toAlpha="1.0" /></set>

anim/left_out.xml代码:

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <translate  android:duration="500"  android:fromXDelta="0"  android:toXDelta="-100%p" /> <alpha  android:duration="500"  android:fromAlpha="0.1"  android:toAlpha="1.0" /></set>

anim/right_in.xml代码:

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <translate  android:duration="500"  android:fromXDelta="-100%p"  android:toXDelta="0" /> <alpha  android:duration="500"  android:fromAlpha="0.1"  android:toAlpha="1.0" /></set>

anim/right_out.xml代码:

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <translate  android:duration="500"  android:fromXDelta="0"  android:toXDelta="100%p" /> <alpha  android:duration="500"  android:fromAlpha="0.1"  android:toAlpha="1.0" /></set>

关于Android中怎么实现手势翻页效果就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: Android中怎么实现手势翻页效果

本文链接: https://www.lsjlt.com/news/221028.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android中怎么实现手势翻页效果
    这篇文章将为大家详细讲解有关Android中怎么实现手势翻页效果,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。activity_main.xml布局界面代码:<xml ver...
    99+
    2023-05-30
    android
  • Android通过手势实现答题器翻页效果
    本文实例为大家分享了Android答题器翻页功能,主要使用ViewFilpper和GestureDetector来实现,供大家参考,具体内容如下 1.效果图 2.实现思路 把...
    99+
    2022-06-06
    答题器 手势 Android
  • 基于Android实现3D翻页效果
    最近做了一个简单的3D效果翻页特效,先说说我的思路吧,首先我这个翻页效果并不是两个Activity之间的跳转,而是在同一个activity类切换不同的view而已。我现在的做法...
    99+
    2022-06-06
    3d Android
  • Android使用ViewPager实现翻页效果
    本文实例为大家分享了Android使用ViewPager实现翻页效果的具体代码,供大家参考,具体内容如下 效果如图所示: 代码实现: 1.布局代码:activity_view_pa...
    99+
    2022-11-13
  • Android实现阅读APP平移翻页效果
    自己做的一个APP需要用到翻页阅读,网上看过立体翻页效果,不过bug太多了还不兼容。看了一下多看阅读翻页是采用平移翻页的,于是就仿写了一个平移翻页的控件。效果如下: 在翻页时...
    99+
    2022-06-06
    app Android
  • Android利用悬浮按钮实现翻页效果
    今天给大家分享下自己用悬浮按钮点击实现翻页效果的例子。 首先,一个按钮要实现悬浮,就要用到系统顶级窗口相关的WindowManager,WindowManager.Layout...
    99+
    2022-06-06
    按钮 Android
  • Android如何实现仿日历翻页、仿htc时钟翻页、数字翻页切换效果
    这篇文章主要为大家展示了“Android如何实现仿日历翻页、仿htc时钟翻页、数字翻页切换效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Android如何实现仿日历翻页、仿htc时钟翻页、数...
    99+
    2023-05-31
    android
  • android中图片翻页效果简单的实现方法
    代码如下:public class PageWidget extends View {    private Bitmap foreImage;...
    99+
    2022-06-06
    方法 图片 Android
  • Android开发中如何使用手势检测及通过手势实现翻页功能
    这篇文章主要介绍了Android开发中如何使用手势检测及通过手势实现翻页功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体如下:手势是指用户手指或触摸笔在触摸屏上的连续触...
    99+
    2023-05-30
    android
  • 利用unity怎么实现一个翻页效果
    这期内容当中小编将会给大家带来有关利用unity怎么实现一个翻页效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。创建物体ToPanel;添加组件ScrollRect,在下面创建一个空物体用来装需要移动的...
    99+
    2023-06-06
  • vue怎么实现书本翻页动画效果
    本文小编为大家详细介绍“vue怎么实现书本翻页动画效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue怎么实现书本翻页动画效果”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。效果如下:关键字transform...
    99+
    2023-06-29
  • 怎么利用ViewPager实现一个翻页效果
    这期内容当中小编将会给大家带来有关怎么利用ViewPager实现一个翻页效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。思路:a.利用ViewPager自带的动画效果,略作修改,实现滑动覆盖翻页效果。b...
    99+
    2023-05-31
    viewpager age pager
  • 怎么在android应用中利用ViewPager实现一个滑动翻页效果
    这期内容当中小编将会给大家带来有关怎么在android应用中利用ViewPager实现一个滑动翻页效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。实现ViewPager的滑动翻页效果可以使用ViewPa...
    99+
    2023-05-31
    viewpager android age
  • Android用viewPager2实现UI界面翻页滚动的效果
    目录1.先在build.gradle(Module)下添加引用viewPager2的库2.在MainActivity下新建一个viewPager23.创建个ViewPagerAdap...
    99+
    2022-11-12
  • css3翻牌翻数字效果怎么实现
    这篇文章将为大家详细讲解有关css3翻牌翻数字效果怎么实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果图如下:没有具体说做什么效果,但是想着纯数字转换太简单了,然后就顺手做了一个翻牌的效果。效果预览...
    99+
    2023-06-08
  • Unity中怎么利用Shader实现一个3D翻页效果
    本篇文章给大家分享的是有关Unity中怎么利用Shader实现一个3D翻页效果,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。效果图:原理:Shader顶点动画在顶点着色器进行对...
    99+
    2023-06-20
  • css3怎么实现翻转效果
    这篇文章将为大家详细讲解有关css3怎么实现翻转效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。css3实现翻转效果的方法:1、将外层元素设置perspective;2、将第二包裹层翻转180度,同时设...
    99+
    2023-06-14
  • 怎么使用纯CSS实现书籍3D翻页效果
    这篇文章主要介绍了怎么使用纯CSS实现书籍3D翻页效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用纯CSS实现书籍3D翻页效果,代码如下:<!doctype&nb...
    99+
    2023-06-08
  • JavaScript中transform如何实现数字翻页效果
    这篇文章主要为大家展示了“JavaScript中transform如何实现数字翻页效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript中tra...
    99+
    2022-10-19
  • Android实现手势滑动和简单动画效果
    一、手势滑动Activity都具有响应触摸事件,也就是说只要触摸Activity,他都会回调一个onTouchEvent()方法。但是在这个方法里无法处理事件,需要配合使用手势识别器(GestureDetector)中的方法onTouchE...
    99+
    2023-05-31
    android 手势滑动 roi
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作