手势操作

【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!

ぃ、小莉子 提交于 2019-12-09 15:34:28
李华明Himi 原创,转载务必在明显处注明: 转载自 【黑米GameDev街区】 原文链接: http://www.himigame.com/android-game/337.html 很多童鞋说我的代码运行后,点击home或者back后会程序异常,如果你也这样遇到过,那么你肯定没有仔细读完Himi的博文,第十九篇Himi专门写了关于这些错误的原因和解决方法,这里我在博客都补充说明下,省的童鞋们总疑惑这一块;请点击下面联系进入阅读: 【Android游戏开发十九】(必看篇)SurfaceView运行机制详解—剖析Back与Home按键及切入后台等异常处理! 本文补充: 网上很多关于手势文章都说Android 对手势的支持是从SDK 1.6 (也就是 API 4)才开始的,但是我用SDK1.5模拟器也能识别!。(本想测试下更低的SDK的支持效果,但是我没有SDK低于1.5版本的....我手机SDK 2.2的 - -、),所以查了Api 发现: android.view.GestureDetector.OnGestureListener; since api-1 , android.view.GestureDetector; since api-1 , 从API来看从api-1开始就已经支持手势和手势监听器了,那么很多说api-4才支持这句话也没错!因为: android

对这个svg手势操作(放大,缩小)

断了今生、忘了曾经 提交于 2019-12-07 23:56:58
在上一章中讲到的,我发现在使用过程中出现一些问题,他并不能对真个svg进行操作,只能对svg里面的元素进行操作, 要想操作整个svg,你得知道有哪些属性,网上都有一些简单的介绍,我在这里只说怎么解决, svg里有一个viewBox 的元素,你修改他你会发现一些东西,viewBox = 0 0 400 400 ; 相当于这个svg的画布只有400; viewBoxValues = svg.getAttribute('viewBox').split(''); 修改viewBoxValues[0] viewBoxValues[1] 变能移动,viewBoxValues[3]变能缩放 hammertime.on("pinchin pinchout panstart panmove panend", function (ev) { switch (ev.type) { case "pinchin": zoom(ev.scale); break; case "pinchout": zoom(ev.scale); break; case "panstart": viewBoxValues = svg.getAttribute('viewBox').split(" "); circleX = parseInt(viewBoxValues[0]); circleY = parseInt

聊聊Web App、Hybrid App与Native App的设计差异

落爺英雄遲暮 提交于 2019-12-06 20:14:36
聊聊Web App、Hybrid App与Native App的设计差异 https://www.cnblogs.com/zhuiluoyu/p/6056672.html 编者按:这3类主流应用你都了解吗?设计师除了要有视觉功夫,对不同形式的APP也应当了然于胸,今天百度的同学写了一篇非常全面的总结,帮你迅速搞定3类主流APP的设计方法,附带一大波避雷针,带你巧妙跳过APP设计的雷区,涨姿势是分分钟刻不容缓的事咯! 目前主流应用程序大体分为三类:Web App、Hybrid App、 Native App。 一、Web App、Hybrid App、Native App 纵向对比 首先,我们来看看什么是 Web App、Hybrid App、 Native App。 1. Web APP Web App 指采用Html5语言写出的App,不需要下载安装。类似于现在所说的轻应用。生存在浏览器中的应用,基本上可以说是触屏版的网页应用。 优点 (1)开发成本低, (2)更新快, (3)更新无需通知用户,不需要手动升级, (4)能够跨多个平台和终端。 缺点: (1)临时性的入口 (2)无法获取系统级别的通知,提醒,动效等等 (3)用户留存率低 (4)设计受限制诸多 (5)体验较差 2. Hybrid App Hybrid APP指的是半原生半Web的混合类App。需要下载安装

几句代码快速集成自定义转场效果+ 全手势驱动

谁都会走 提交于 2019-12-05 04:54:16
原文出处: wazrx 写在前面 在简书写完第一篇的自定义转场文章后,已经很久没有碰过转场了,毕竟在公司,功能实现才是最重要的,这些转场的动效,只能是点睛之笔,不太容易被重视,不过我的第一篇文章还是很多人的喜欢和讨论,很多人还提出些建议,非常感谢大家,这是我第一篇文章的地址 自定义转场动画 ,里面包含了一些转场的基础知识,这篇文章我就不再讨论这些基础知识了。 为什么会有这第二篇文章,主要原因有如下几点: 1、能不能更简单?当我很久没有使用转场的时候,再次来使用它,感觉还是比较烦琐,有一大堆记不住的长长的代理方法,都要去copy,长长的代理方法也把控制器弄得有点乱,虽然苹果已经将整个过程充分解耦了,我在想,要是能简单的一两句话就能集成转场效果多好,或者通过继承和复写一两个方法就能轻松实现自己的转场效果,无需关注转场逻辑,只需关注动画逻辑 2、闪烁和生硬?在第一篇文章中有人提到的部分的bug,比如小圆点扩散效果,如果手势在中途取消,不会有取消动画,非常生硬,而且会有闪烁的bug,我在想能不能解决这两个问题,强迫症接受不了o(╯□╰)o,我现在找到了一个比较好的方式来解决问题,原理和对比图会在后面给出 3、能不能多添加一些效果?所以我把自己写的效果封装,再参照网络一些效果,总过添加了将近20个效果 4、手势万岁!任何效果我都想能够手势驱动 效果图(图比较多,请手机用户慎重

关于自定义转场动画,我都告诉你。

冷暖自知 提交于 2019-12-05 04:54:03
原文出处: 伯恩的遗产(@翁呀伟呀 ) 概述 这篇文章,我将讲述几种转场动画的自定义方式,并且每种方式附上一个示例,毕竟代码才是我们的语言,这样比较容易上手。其中主要有以下三种自定义方法,供大家参考: Push & Pop Modal Segue 前两种大家都很熟悉,第三种是 Stroyboard 中的拖线,属于 UIStoryboardSegue 类,通过继承这个类来自定义转场过程动画。 Push & Pop 首先说一下 Push & Pop 这种转场的自定义,操作步骤如下: 创建一个文件继承自 NSObject , 并遵守 UIViewControllerAnimatedTransitioning 协议。 实现该协议的两个基本方法: 1 2 3 4 //指定转场动画持续的时长 func transitionDuration ( transitionContext : UIViewControllerContextTransitioning ) -> NSTimeInterval //转场动画的具体内容 func animateTransition ( transitionContext : UIViewControllerContextTransitioning ) 遵守 UINavigationControllerDelegate 协议,并实现此方法: 1 func

关于自定义转场动画,我都告诉你

限于喜欢 提交于 2019-12-04 04:34:24
作者: @翁呀伟呀 概述 这篇文章,我将讲述几种转场动画的自定义方式,并且每种方式附上一个示例,毕竟代码才是我们的语言,这样比较容易上手。其中主要有以下三种自定义方法,供大家参考: Push & Pop Modal Segue 前两种大家都很熟悉,第三种是 Stroyboard 中的拖线,属于 UIStoryboardSegue 类,通过继承这个类来自定义转场过程动画。 Push & Pop 首先说一下 Push & Pop 这种转场的自定义,操作步骤如下: 1. 创建一个文件继承自 NSObject, 并遵守 UIViewControllerAnimatedTransitioning协议。 2. 实现该协议的两个基本方法: 1 2 3 4 //指定转场动画持续的时长 func transitionDuration(transitionContext: UIViewControllerContextTransitioning) -> NSTimeInterval //转场动画的具体内容 func animateTransition(transitionContext: UIViewControllerContextTransitioning) 3. 遵守 UINavigationControllerDelegate 协议,并实现此方法: 1 func

工程实践用例建模Use Case Modeling

烂漫一生 提交于 2019-12-02 23:54:53
用例建模就是通过对软件需求的调研,从具体的功能性需求中抽象出用例模型的工作过程。参与者和用例由对功能性需求的分析来确定,用例图是参与者和用例的可视化表示。用例图中的四种关系:   1.关联:建立参与者与用例通信的渠道,当然关联可以是双向的,可以是单向的。箭头的方向表示消息的传递方向。   2.依赖:一个用例受到另一个用例的影响。   3.包含:基USE CASE图本用例的行为包含了另一个用例的行为   4.扩展:扩展用例是基本用例的一个扩展   5.泛化:存在于Actor和Use case之间,例如数学老师是老师的泛化,从特殊指向一般。 用例建模的作用: 用例模型是一种标准的语言,是开发人员之间交流和沟通的媒介,可以精确地定义软件需求,出现歧义的可能性很小,这可以保证用户和开发人员对需求理解的一致性。用例模型在整个开发过程中都扮演着非常重要的角色,它可以驱动软件的分析和设计逐步细化。最后,测试过程中那些关注软件功能的测试用例,往往也是根据用例模型来确定的。 用例步骤: 确定系统边界 确定参与者 找出所有的用例 确定每个用例的级别 撰写用例的文字描述 画出以整个系统为对象的顺序图 我的工程实践的目的是手势识别,模拟键盘鼠标操作等,下图展示了项目的部分用例图。只是手势交互业务建模,不是对系统建模。                                           

Qt for android触摸手势事件QGestureEvent

青春壹個敷衍的年華 提交于 2019-12-02 13:10:43
在触摸设备上可以使用Qt的手势事件 要激活 手势事件,需要执行以下操作: 第一步, 为QWidget控件注册手势事件 QList < Qt :: GestureType > gestures ; gestures << Qt :: PanGesture ; gestures << Qt :: PinchGesture ; gestures << Qt :: SwipeGesture ; gestures << Qt :: TapGesture ; gestures << Qt :: TapAndHoldGesture ; MainWindow w ; w . grabGestures ( gestures ); 第二步,在QWidget控件类中过滤事件 bool MainWindow :: event ( QEvent * event ) { if ( event -> type () == QEvent :: Gesture ) return gestureEvent ( static_cast < QGestureEvent *>( event )); return QWidget :: event ( event ); } bool MainWindow :: gestureEvent ( QGestureEvent * event ) { qCDebug (

IOS禁止手势侧滑返回上一个页面

我只是一个虾纸丫 提交于 2019-12-02 12:50:04
想着要实现页面出现之后不进行操作无法返回的效果,没想到隐藏了返回按钮之后发现用手势还是可以返回,到网上找了很久,发现大致的套路都是修改 navigationController 的 interactivePopGestureRecognizer.enabled 的属性为 NO ,有的说在跳转前的页面设置,有的说在跳转后的页面设置,当是我试了一下发现都没什么用。 虽然还有监听手势操作的方案,但是感觉实现起来有点麻烦,最后在网上找到了一个方案,试了一下把所有的手势禁用,终于解决了问题。 实现代码如下 - ( void ) popGestureChange : ( UIViewController * ) vc enable : ( BOOL ) enable { if ( [ vc . navigationController respondsToSelector : @ selector ( interactivePopGestureRecognizer ) ] ) { //遍历所有的手势 for ( UIGestureRecognizer * popGesture in vc . navigationController . interactivePopGestureRecognizer . view . gestureRecognizers ) { popGesture .

iOS侧滑返回功能实现

好久不见. 提交于 2019-12-02 12:35:22
方案一 : 开启使用系统自带的侧滑返回 iOS7之后系统提供了侧滑手势(interactivePopGestureRecognizer),即从屏幕左侧边缘滑起会pop回导航控制器栈的上个viewController。 不过如果你自定义了UINavigationViewController或者自定义了返回按钮,系统自带的侧滑返回功能会失效。 此时需要添加下面的代码解决: self .navigationController .interactivePopGestureRecognizer .delegate = ( id ) self ; 缺点: 必须从屏幕边缘左侧滑起才会触发; 一旦自定义导航控制器或者自定义返回按钮,就会失效。 方案二 实现UINavigationViewController的代理方法,自定义动画对象和交互对象。(即自定义转场动画) 这是苹果官方在WWDC上提倡的方法,灵活性高。可以高度自定义push和pop转场动画。 这种方法需要我们彻底实现侧滑返回,那我们的思路就是: 先给view添加一个UIPanGestureRecognizer手势; 再自定义该手势的触发方法,该方法里实现了侧滑。 1. 先创建一个BaseViewController,给该控制器的view添加拖动手势; - ( void )viewDidLoad { [ super viewDidLoad