滑动切换Activity(GestureDetector)

Android Studio之多个Activity的滑动切换(二) Android Studio之多个Activity之间的切换 阅读详情

滑动切换Activity(GestureDetector)

  1. 实现手势滑动切换Activity

    • 创建一个手势识别器(GestureDetector)
    • 在Activity的onTouchEvent中去使用该手势识别器

      public abstract class SetupBaseActivity extends Activity {
          protected SharedPreferences sp;
          protected GestureDetector mGestureDetector;
      
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              sp =getSharedPreferences("config", MODE_PRIVATE);
              initView();
              setupView();
              //1.创建一个手势识别器 new 对象,并给这个手势识别器设置监听器
              mGestureDetector = new GestureDetector(new GestureDetector.SimpleOnGestureListener(){
                  //当手指在屏幕上滑动的时候 调用的方法.
                  @Override
                  //e1代表的是手指刚开始滑动的事件,e2代表手指滑动完了的事件
                  public boolean onFling(MotionEvent e1, MotionEvent e2,float velocityX, float velocityY) {
                      if(e1.getRawX() - e2.getRawX() > 200){
                          showNext();//向右滑动,显示下一个界面
                          return true;
                      }
      
                      if(e2.getRawX() - e1.getRawX() > 200){
                          showPre();//向左滑动,显示上一个界面
                          return true;
                      }
                      return super.onFling(e1, e2, velocityX, velocityY);
                  }
              });
          }
      
          //2.让手势识别器生效,重写Activity的触摸事件,并且将Activity的触摸事件传入到手势识别器中
          @Override
          public boolean onTouchEvent(MotionEvent event) {
              mGestureDetector.onTouchEvent(event);
              return super.onTouchEvent(event);
          }
      }
  2. 实现切换效果
    经过上一步已经实现了滑动界面的切换,但是切换界面时的效果不好看,我们需要自定义切换的效果

    • 在res目录下面新建一个anim文件夹在这个文件夹中新建动画效果
      tran_next_in.xml//下一个界面进入的样式
      tran_next_out.xml//下一个界面进入时当前页面出去的样式
      tran_pre_in.xml//上一个界面进入的样式
      tran_pre_out.xml//上一个界面进入时当前页面出去的样式

      • tran_next_in.xml里面的内容

        <?xml version="1.0" encoding="utf-8"?>
        <translate xmlns:android="http://schemas.android.com/apk/res/android"    //translate是指定整个图片是位移动
            android:fromXDelta="100%p" //开始时的X轴位置,100%p当表是当前窗体的宽度
            android:toXDelta="0"//结束时候的X轴位置
            android:fromYDelta="0"//开始时Y轴的位置
            android:toYDelta="0"//结束时Y轴的位置
            android:duration="300"//整个动画持续的时间
            >
        </translate>
      • tran_next_out.xml里面的内容

        <?xml version="1.0" encoding="utf-8"?>
        <translate xmlns:android="http://schemas.android.com/apk/res/android"
            android:fromXDelta="0"
            android:toXDelta="-100%p"
            android:fromYDelta="0"
            android:toYDelta="0"
            android:duration="300"
            >
        </translate>
      • tran_pre_in.xml里面的内容

        <?xml version="1.0" encoding="utf-8"?>
        <translate xmlns:android="http://schemas.android.com/apk/res/android"
            android:fromXDelta="-100%p"
            android:toXDelta="0"
            android:fromYDelta="0"
            android:toYDelta="0"
            android:duration="300"
            >
        </translate>
      • tran_pre_out.xml里面的内容

        <?xml version="1.0" encoding="utf-8"?>
        <translate xmlns:android="http://schemas.android.com/apk/res/android"
            android:fromXDelta="0"
            android:toXDelta="100%p"
            android:fromYDelta="0"
            android:toYDelta="0"
            android:duration="300"
            >
        </translate>
    • 让Activity在创建和销毁时使用上面自定义的动画

      public void overridePendingTransition(int enterAnim, int exitAnim);
      Call immediately after one of the flavors of startActivity(Intent) or finish() to specify an explicit transition animation to perform next.
      Parameters:
      enterAnim - A resource ID of the animation resource to use for the incoming activity. Use 0 for no animation.
      exitAnim - A resource ID of the animation resource to use for the outgoing activity. Use 0 for no animation.

      public void showNext() {      
          Intent intent = new Intent(this, Setup3Activity.class);
          startActivity(intent);
          finish();
          //调用此方法让动画效果生效
          overridePendingTransition(R.anim.tran_next_in, R.anim.tran_next_out);
      }
      
      public void showPre() {
          Intent intent = new Intent(this, Setup1Activity.class);
          startActivity(intent);
          finish();
          overridePendingTransition(R.anim.tran_pre_in, R.anim.tran_pre_out);
      }

  • 邮箱 :charon.chui@gmail.com
  • Good Luck!
分享一个简单的迭代学习机器人双臂控制(MATLAB) 1 什么是迭代学习控制 迭代学习控制(iterative learning control,简称ILC)由Uchiyama于1978年首先提出,不过因为论文由日文撰写,影响不是很大。1984年,Arimoto等人用英文介绍了该方法。它是指不断重复一个同样轨迹的控制尝试,并以此修正控制律,以得到非常好的控制效果的控制方法。 迭代学习控制的特点是“在重复中学习”,通过反复的迭代修正,达到改善控制效果的目的。迭代学习控制的原理是根据系统前次运行所获得的输出误差信息,在控制过程中不断修正控制输入,随着迭代的进行,逐 阅读详情

相关推荐

使用兮克 2.5G 交换机将北京联通 EPON 改为 ODI 猫棒接入

最近入手了兮克2.5G交换机(兮克SKS1200-8GPY1XF),有 8 个 2.5G 电口和 1 个 10G SFP+ 光口;支持多种组网模式,其中一种是支持使用猫棒接入,由路由器拨号后再回接到交换机,这样就可以替换掉光猫了。

啦啦啦啦 la 1万+

javascript七基础学习系列三千七百四十八:手势事件

一个手指放到屏幕上时,gesturestart 事件会首先触发,然后紧接着触发这个手指的touchstart。如果两个手指或其中一个手指移动,则会触发gesturechange 事件。与触摸事件类似,每个手势事件的event 对象都包含所有标准的鼠标事件属性:bubbles、与触摸事件的例子一样,以上代码简单地将每个事件对应到一个处理函数,然后输出每个事件的信息。只有在两个手指同时接触事件接收者时,这些事件才会触发。幕,就会触发gestureend 事件,紧接着触发该手指的touchend 事件。

m0_68635815的博客 307

PySpark 本地开发环境搭建与实践

本文详细介绍了 PySpark 本地开发环境的搭建过程,包括 JDK、Hadoop、Anaconda、PySpark 的安装以及 Pycharm 工程的创建。同时,深入讲解了代码编写、本地开发案例(如 WordCount、处理特殊分隔符、读取 hdfs 数据、获取外部变量)、Spark 程序的监控和 local 模式下结果文件数量问题等内容。通过掌握这些知识和技能,读者可以在 Windows 本地环境中高效地进行 PySpark 开发,处理大规模数据,解决实际业务中的数据分析和处理问题。

天冬忘忧的博客 3014

初探无障碍服务

无障碍服务应该只用于帮助有残疾的用户使用Android设备和应用程序。这样的事件表示用户界面中的一些状态转换,例如,焦点发生了变化,按钮被点击,等等。无障碍服务的好处很多,可以实现一键操作,帮助残障人士使用手机。当然坏处也有,开启无障碍服务以后,因为服务对手机的实时监控,会引起手机的卡顿。当用户同意我们的应用获取无障碍服务的权限之后就可以模拟操作,来控制用户的手机。步骤3:在res资源文件下床架xml文件夹,然后再xml文件夹创建accessibility_service_config无障碍服务配置。

搬砖路上的博客 2180

用C#和MQTTnet在WinForm里做个简易物联网监控后台(附完整源码)

本文详细介绍了如何使用C#和MQTTnet库在WinForm中构建一个简易物联网监控后台。通过实战案例,包括环境配置、MQTT服务端实现、客户端监控功能及高级优化技巧,帮助开发者快速搭建高效的物联网监控系统,适用于工业自动化和智能家居场景。

weixin_29540599的博客 393

干货满满!AI应用架构师分享AI驱动虚拟展示干货

虚拟展示(Virtual Presentation):用数字技术将物理对象/场景转化为可交互的虚拟内容(比如3D文物、虚拟试衣间);AI驱动(AI-Powered):通过AI技术实现实时交互、智能决策、个性化生成,让虚拟内容“活”起来;AI驱动虚拟展示:以用户体验为核心,将“3D渲染+AI理解+实时数据”融合,形成“感知-决策-反馈”的闭环系统。前端交互层是用户直接体验到的部分,再厉害的AI和渲染,只要前端交互烂,用户都会跑。我见过很多团队为了“炫技”做了复杂的AI功能,结果用户不会用。

AI大模型应用之禅 539

Android 之 Gestures(手势)

当然,没有这样的手机也没关系,我们有模拟器嘛,自己开个4.0的系统试试 就知道了,另外,我们可以到\mmt\sdcard\gestures获取到保存手势的文件!好的,本节给大家带来点的是第三章的最后一节——Gestures(手势), 用过魅族手机的朋友相信对手势肯定是不陌生的,在home键两侧像屏幕内滑动, 可以打开后台任务列表等等~在应用中通过手势来操作会大大提升用户体验, 比如Scroll手势在浏览器中个滚屏,Fling在浏览器中的换页等!

leyang0910的博客 1453

基于Simulink的四足机器人楼梯攀爬仿真模型

构建一个基于Simulink的四足机器人楼梯攀爬仿真模型,旨在模拟四足机器人在面对楼梯等障碍时的运动控制和稳定性调整。以下是一个详细的步骤指南,帮助你从零开始创建这样一个仿真模型。

xiaoheshang_123的博客 248

Android 手势(Gesture)

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34259232的博客 271

分区补光与ISP图像调节技术

在安防监控场景中,逆光、强光、明暗不均(如门口 / 窗边的 “阴阳脸” 画面)是导致图像细节丢失的核心问题。分区补光技术通过对画面不同亮度区域精准补光,解决 “局部过曝 / 欠曝” 难题;ISP(图像信号处理器)图像调节技术则通过算法优化,提升画面色彩、对比度与细节。二者协同可实现 “硬件补光 + 算法优化” 的双重增强,是低功耗摄像机实现高清画质的关键技术组合。分区补光与 ISP 图像调节技术:原理、协同方案及安防监控应用案例。一、核心技术原理解析。

AIoT深度探索者 | 嵌入式系统架构师 深耕物联网(IoT)与人工智能(AI)融合技术,聚焦​​边缘计算、图像开发、低功耗通信协议​​,致力于智能硬件,关注我获取最新技术文章信息与海量资源~ 731

5步VS传统WinForm!AntdUI让界面设计从“土味”到“超模”只需30秒?

摘要:墨瑾轩编程教程《AntdUI的5大魔法步骤》详解如何将传统WinForm升级为现代化UI。教程通过5个核心步骤:安装AntdUI库、控件替换、主题定制、复杂布局构建及实战案例演示,对比传统开发与AntdUI在美观度(动态阴影/动画)、开发效率(拖拽组件VS手工绘制)和主题定制(一键换肤VS重写控件)的显著差异。使用C#代码示例展示按钮动画、3D翻转、聊天界面等特效实现,帮助开发者快速掌握这一基于Ant Design风格的WinForm增强框架。(150字)

java专栏 1129

Android中Gesture手势的基本用法(总结)

应用场景: (1)左右上下滑动屏幕的事件监听。比如,上拉弹出自定义的底部布局之类的,换页之类的等等。 (2)画一些不规则的几何图形。 执行顺序: 1.手指触碰屏幕时,触发MotionEvent事件! 2.该事件被OnTouchListener监听,可在它的onTouch()方法中获得该MotionEvent对象! 3.通过GestureDetector转发MotionEvent对象给...

lpCrazyBoy的博客 4465

EXCEL VBA从入门到精通 前言

本书通过丰富的实例和案例,帮助读者更好地理解和应用Excel VBA编程,同时也介绍了常用的工具、资源、社区和协作平台等,方便读者进行进一步的学习和开发。我强烈推荐这本书给所有希望学习和掌握Excel VBA编程的读者。多样化的资源和工具介绍:本书介绍了丰富的工具和资源,包括官方文档、在线教程、代码库、论坛、博客等,方便读者进行进一步的学习和开发。详细的讲解和丰富的示例:本书从语法和对象开始讲解,通过丰富的实例和案例,帮助读者更好地理解和应用Excel VBA编程。第一节:什么是VBA 5。

1739

用GestureDetector实现手指滑动切换Activity

首先定义切换

Abner-L 799

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Android Studio 基于Menu和GestureDetector实现自定义向左或者向右切换界面滑动效果,并且实现手势向左/右滑动屏幕切换界面

我们在点击底部导航栏的不同item切换界面的时候,系统默认会使用向左(或者向右)固定的切换效果,这种效果对于我们用户而言是不友好的,这种单一的切换方式看起来整个软件比较 “low”

m0_74306809的博客 1267

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Android学习笔记之不同activity之间滑动切换

之前学习到ViewFlipper实现一个Activity多个控件之间的滑动切换,现在来学习多个activity之间的滑动切换。         1.继承OnTouchListner和OnGestureListener. public class WeatherActivity extends Activity implements OnTouchListener,OnGestureListen

七夜飘雪 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

实现左右滑动切换Activity

1.封装OnGestureListener (PS:为了代码的简洁性,将OnGestureListener封装成了一个类,只要将其作为一个成员变量,并仅仅实现onFling方法即可)/** * 必须实现 onFling * * @author Chuanhang.Gu * */ public class OnGestureListener implements and

guchuanhang的专栏 3177

自己对于android左右滑动切换tab或者任务的复制

首先感谢下我看到的那篇文章作者 当然不记得名字了 对不住了 要实现左右滑动来切换tab或者任务 分别继承了TabActivity或者Activity 然后自己实现OnTouchListener, OnGestureListener这两个接口 介绍重点函数: public boolean onTouch(View v, MotionEvent event) { // TODO Auto

Amule的专栏 3132

根据滑动完成Activity切换

引用 Activity跳转封装 第一步:将OnGestureListener接口封装 public class SlideListener implements android.view.GestureDetector.OnGestureListener { private Context context; private Class<? extends Activity> leftCls; private Class<? extends Activity&g

m0_48440239的博客 349

Android实例-手机安全卫士(二十二)-实现Activity界面滑动切换效果

一、目标。   通过手指在屏幕上向左滑、向右滑动实现界面的动画效果切换(本节中以设置向导的第一个界面滑向第二个界面为例)。 二、代码实现。   1、定义手势识别器(GestureDetector)对象,并在onCreate方法中实例化(newGestureDetector(context, listener)),参数context为上下文,listener为监听器。监听器通过...

diouke4154的博客 166

Android 滑动切换页面 以及屏幕手势

手机进入智能机时代,触摸屏也已成为主流之势,原来的手机按键也被屏幕点触取代,滑动屏幕操作则相对屏幕点击更能获得用户的青睐,习惯了各种浏览器的鼠标手势、pad等平板的切滑、类似iReader的软件丰富的手势后,是不是也想自己的软件能够用食指炫起来呢,下面就让我们来看看android的手势操作吧   先介绍下左右滑动切换Activity,对于复杂的手势原理一样,具体后述。 主要原理为监控触屏事件

zwq1457的专栏 1015

两个Activity左右滑动手势切换

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33915554的博客 358

Activity位移切换

1、创建位移动画 Activity切换动画可以在startActivity或finish方法之后执行延时的位移方法overridePendingTransition()。 res/anim目录下创建xml <translate xmlns:android:"http://schemas.android.com/apk/res/android" android:fromXDelta="0"

zchengyi 351

Android页面滑动事件被子控件RecyclerView截获,处理办法

因项目需求需要,需要监听左右滑动事件, 就在Activity中 implements了GestureDetector.OnGestureListener 调用接口切换楼层 在做android滑动监听的过程中,发现自身页面中,用到RecyclerView的地方(如下图红色方框处所示,这块区域,无法监听到滑动事件),会被子控件拦截掉当前滑动监听 解决思路只需在当前的Activity中...

u014188982的博客 930
上一篇: 获取手机中所有安装的程序
下一篇: 获取位置(LocationManager)
CharonChui
博客等级 码龄12年 66粉丝 134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值