switch (event.getAction()) { // 判斷觸控的動作 case MotionEvent.ACTION_DOWN: // 按下 downX = event.getX(); downY = event.getY(); return true; case MotionEvent.ACTION_MOVE: // 拖曳 return true; case MotionEvent.ACTION_UP: // 放開 Log.d("onTouchEvent-ACTION_UP", "UP"); upX = event.getX(); upY = event.getY(); float x = Math.abs(upX - downX); float y = Math.abs(upY - downY); double z = Math.sqrt(x * x + y * y); int jiaodu = Math.round((float) (Math.asin(y / z) / Math.PI * 180));// 角度 if (upY < downY && jiaodu > 45) {// 上 Log.d("onTouchEvent-ACTION_UP", "角度:" + jiaodu + ", 動作:上"); } else if (upY > downY && jiaodu > 45) {// 下 Log.d("onTouchEvent-ACTION_UP", "角度:" + jiaodu + ", 動作:下"); } else if (upX < downX && jiaodu <= 45) {// 左 Log.d("onTouchEvent-ACTION_UP", "角度:" + jiaodu + ", 動作:左"); // 原方向不是向右時,方向轉右 } else if (upX > downX && jiaodu <= 45) {// 右 Log.d("onTouchEvent-ACTION_UP", "角度:" + jiaodu + ", 動作:右"); // 原方向不是向左時,方向轉右 } return true; }
记在这里作为备忘,从另一个网址看到的,但是地址忘记了,就没有源了。
相关推荐
3. **实现滑动逻辑**: 在`onFling()`方法中,我们可以通过计算两个MotionEvent之间的X坐标差来判断滑动方向,并据此更新日历的显示。例如,向右滑动表示切换到下一天,向左滑动表示切换到前一天。 ```java @...
当`UIPanGestureRecognizer`的`state`变为`.ended`时,可以通过计算手势的位移来判断滑动方向,从而决定是否切换图片。 接下来,我们需要处理图片的加载和显示。在Android中,可以使用`ImageView`结合`Glide`或`...
在Android开发中,手势识别是增强...总的来说,实现Android手势滑动翻页需要理解手势事件机制,掌握`GestureDetector`的使用,并结合适当的UI组件和动画效果。通过实践和优化,可以创造出流畅且富有特色的翻页体验。
在这个“最简单的ViewFlipper实现图片跟随手势滑动”的教程中,我们将深入探讨如何通过源码和工具来创建一个用户可以通过手势左右滑动来切换图片的应用。 首先,我们要了解ViewFlipper的基本用法。ViewFlipper继承...
要使视图随着手势滑动,可以使用`TranslateAnimation`或者`ObjectAnimator`。`TranslateAnimation`是动画框架的一部分,用于实现简单的位移动画。例如,当检测到向右滑动的手势时,创建一个向右平移的动画,设置...
本篇文章将深入探讨如何在Android中实现Activity的左右手势滑动。 首先,我们需要了解触摸事件的基本处理流程。在Android中,触摸事件主要由View或 ViewGroup 的 `onTouchEvent(MotionEvent event)` 方法来处理。当...
本压缩包“Android源码——手势滑动源码.zip”包含了实现Android手势滑动的相关代码和资源,下面将详细探讨这一领域的知识点。 1. **Android手势基础** - ** GestureDetector类**:Android SDK提供的...
7. **滑动方向检测**:通过比较前后`MotionEvent`的位置,可以判断滑动的方向,如水平滑动(左右)、垂直滑动(上下)。这在实现如页面切换、菜单滑出等效果时非常有用。 8. **性能优化**:在处理大量滑动事件时,...
本文将深入探讨Android手势滑动的源码实现,帮助开发者更好地理解和运用这一技术。 首先,Android的手势识别主要依赖于`GestureDetector`类,它是Android SDK中的一个核心组件,用于识别简单的触摸手势,如单击、...
这份名为"Android手势滑动源码.zip"的压缩包很可能是包含了一套实现Android手势识别和滑动处理的源代码示例。下面将详细讨论Android手势识别和滑动处理的相关知识点。 1. **手势识别基础** 在Android中,手势识别...
4. 分析滑动方向:在onFling()方法中,通过velocityX和velocityY参数可以判断滑动的方向。如果velocityX为正,表示向右滑;如果velocityX为负,表示向左滑;同理,velocityY可判断上下滑动。 ```java @Override ...
本资源包"Android 手势滑动源码.zip"提供了一套实现手势滑动功能的源代码,对于开发者来说,这是一个深入理解Android手势操作的好材料。下面我们将详细探讨Android手势滑动的相关知识点。 1. **手势识别基础**: -...
Android 实现手势滑动(左滑和右滑) Android 中的手势滑动是一种常见的交互方式,通过监听用户的滑动操作,可以实现各种功能,如左滑弹出菜单框、右滑消失菜单等。在 Android 中,实现手势滑动需要使用 ...
通常,当`Math.abs(velocityX) > Math.abs(velocityY)`并且`velocityX`的正负值可以确定滑动方向时,我们可以认为这是一个左右滑动。 4. **源码解析** `GestureDetector`的源码中,`onTouchEvent()`方法会根据`...
通过ACTION_MOVE事件,我们可以获取手指在屏幕上的移动轨迹,从而判断滑动方向和速度。 4. Scroller类: Scroller是Android中用于平滑滚动的类,常与View的computeScroll()方法配合使用,实现滑动动画效果。在处理...
- 在`onScroll`方法中,可以通过比较相邻两次事件的坐标差值来判断滑动方向。例如,y轴坐标差值大于0表示向上滑动,小于0表示向下滑动,x轴同理。 - `onFling`方法中的`velocityX`和`velocityY`可用来确认滑动速度...
3. **监听滑动事件**:在onFling()方法中,开发者需要判断滑动的方向(左或右),然后根据方向改变TabHost当前选中的标签。这通常通过调用TabHost的setCurrentTab()方法来实现。 4. **平滑过渡**:为了让切换过程...