标签: touch

检测触摸按压与长按vs运动?

我目前正在摆弄Android编程,但我在检测不同的触摸事件时遇到一个小问题,即正常触摸按下(按下屏幕并立即释放),长按(触摸屏幕并按住手指) )和移动(在屏幕上拖动).

我想要做的是在屏幕上有一个图像(圆圈),我可以拖动它.然后,当我按一次(短/正常按下)时,Toast会提供一些关于它的基本信息.当我长按它时,会出现一个带有列表的AlertDialog来选择不同的图像(圆形,矩形或三角形).

我使用自己的OnTouchListener创建了一个自定义视图来检测事件并在onDraw中绘制图像.OnTouchListener.onTouch是这样的:

// has a touch press started?
private boolean touchStarted = false;
// co-ordinates of image
private int x, y;

public boolean onTouch(View v, MotionEvent event) {
    int action = event.getAction();
    if (action == MotionEvent.ACTION_DOWN) {
        touchStarted = true;
    }
    else if (action == MotionEvent.ACTION_MOVE) {
        // movement: cancel the touch press
        touchStarted = false;

        x = event.getX();
        y = event.getY();

        invalidate(); // request draw
    }
    else if (action == MotionEvent.ACTION_UP) {
        if (touchStarted) {
            // touch …
Run Code Online (Sandbox Code Playgroud)

java android move touch long-press

65
推荐指数
3
解决办法
12万
查看次数

服务如何监听触摸手势/事件?

我想知道像SwipePad和Wave Launcher这样的应用程序是如何通过服务来检测触摸手势/事件的.这些应用程序能够检测到触摸手势,即使它不在自己的活动中.我看过整个互联网,但没有找到他们如何做到这一点.

我的主要问题是服务如何监听触摸客户/事件,就像常规活动可能会收到MotionEvents一样,即使它可能不在原始活动或上下文中.我本质上是在尝试构建一个应用程序,该应用程序将从用户处重新识别特定的触摸手势,无论哪个Activity位于顶部,并在该手势被识别时执行某些操作.触摸识别将是在后台作为服务运行的线程.

service events android touch gesture

60
推荐指数
2
解决办法
3万
查看次数

触摸时代的工具提示

工具提示是了解应用程序非常有用的界面范例.它们是可视控件和与该控件关联的应用程序特定操作之间的映射.用户可以通过悬停鼠标指针来探索操作而无需调用它.

触摸设备使这种范例基本上不可能.这限制了应用程序的可用性,这在某些情况下变得非常神秘.

您是否知道触摸设备是否存在工具提示概念的替代品?它们在ui交互中实际上缺乏一个自由度:指针位置.如何有效地重新获得这种沟通渠道?

usability user-interface tooltip touch

58
推荐指数
5
解决办法
2万
查看次数

将UIGesture转发给背后的观点

我正在开发iphone(iOS 4.0或更高版本)应用程序,并且在多个视图之间处理触摸问题.我有这样的视图结构

---> A superView 
     |
     ---> SubView - A 
     |
     ---> SubView - B (exactly on top of A, completely blocking A).
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

基本上我有一个superView和兄弟子视图A和B. B与A具有相同的框架,因此完全隐藏了A.

现在我的要求就是这个.

  1. SubView B应该接收所有滑动和点按(单和双)手势.
  2. SubView A应该接收所有捏合手势.

这就是我为视图添加手势识别器的方法

UISwipeGestureRecognizer *leftSwipe  =  [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(leftSwipe:)];
[leftSwipe setDirection:(UISwipeGestureRecognizerDirectionLeft)];
leftSwipe.delegate  =   self;
[bView addGestureRecognizer:leftSwipe];
[leftSwipe release];

UISwipeGestureRecognizer *rightSwipe  =  [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(rightSwipe:)];
[rightSwipe setDirection:(UISwipeGestureRecognizerDirectionRight)];
rightSwipe.delegate   =   self;
[bView addGestureRecognizer:rightSwipe];
[rightSwipe release];

UIPinchGestureRecognizer *pinch   =  [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(handlePinch:)];
pinch.delegate    =   self;
[aView addGestureRecognizer:pinch];
[pinch release];
Run Code Online (Sandbox Code Playgroud)

我做了一些研究,对我UIGestureRecognizerDelegate看起来很有希望,我实现了委托方法

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer …
Run Code Online (Sandbox Code Playgroud)

iphone touch ipad uigesturerecognizer ios

57
推荐指数
2
解决办法
4万
查看次数

e.touches,e.targetTouches和e.changedTouches的变化

让我们说我正在倾听touchstart,touchmovetouchendbody元素上.

如果我错了,请告诉我,但我认为e.touches是一样的e.targetTouches?如果是这样,e.changedTouches与它们有何不同?

我的意思是,只要在一个特定时刻触摸一下,我就会取出touchevent并解析它.根据我的经验,所有三个触摸变量都是相同的.

我必须将解析后的数据发送到服务器,发送三次完全相同的字符串是非常多余的,是不是有任何方式发送它们一次并以编程方式重现服务器上的touchevent?

javascript webkit touch

55
推荐指数
1
解决办法
2万
查看次数

触摸移动某个元素时禁用滚动

我有一个页面,其中有一个部分用于绘制图纸.但是,当在移动浏览器上使用时,touchmove事件(至少是垂直事件)也会滚动页面(这会降低草图体验的性能).有没有办法要么a)禁用并重新启用页面的滚动(所以我可以在每行启动时将其关闭,但在每次完成后将其重新打开),或者b)禁用默认处理touchmove事件(可能是滚动)转到绘制草图的画布(我不能完全禁用它们,因为草图使用它们)?

我已经使用jquery-mobile vmouse处理程序作为草图,如果这有所不同.

更新:在iPhone上,如果我选择要绘制的画布,或者只是在绘制之前握住我的手指,页面不会滚动,而不是因为我在页面中编码的任何内容.

javascript touch jquery-mobile

55
推荐指数
5
解决办法
10万
查看次数

触摸/按光标对象时指示禁用蓝色高光:指针

只要在Chrome中触摸了应用了光标:指针属性的Div,就会出现蓝色突出显示.我们怎样才能摆脱它呢?

我尝试过以下方法:

-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
Run Code Online (Sandbox Code Playgroud)

但它们不会影响按下光标时的蓝色突出显示.

mobile html5 highlight touch css3

54
推荐指数
5
解决办法
3万
查看次数

使用Java模拟触摸命令

我想更改二进制文件的修改时间戳.这样做的最佳方式是什么?

打开和关闭文件是一个不错的选择吗?(我需要一个解决方案,在每个平台和JVM上更改时间戳的修改).

java file touch

49
推荐指数
7
解决办法
3万
查看次数

检测平移手势结束

我有一个视图,我在这个视图中应用了一个UIPanGestureRecogniser:

UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panAnim:)];
[sliderView addGestureRecognizer:panGesture];
[panGesture release];
Run Code Online (Sandbox Code Playgroud)

我可以很好地检测和处理手势.但是,一旦手势结束,我希望启动另一种方法.

我知道有两种方法可以进行这种检测.touchesEndedtouchesCancelled然而,我发现,touchesCancelled获取,一旦触摸成为一种姿态,即我将我的手指足以保证手势调用,并呼吁touchesEnded很少,如果有的话,被调用.

我希望能够向左/向右平移,然后在手势结束时启动另一个函数调用.我该怎么做呢?

objective-c touch uigesturerecognizer

49
推荐指数
3
解决办法
4万
查看次数

如何实现支持Bootstrap拖放的触敏,响应,可排序列表?

我有一个<ul>列表,我想进行排序(拖放).如何在现代浏览器和触摸设备中使用Bootstrap 3?

我正在尝试使用jqueryui-sortable与http://touchpunch.furf.com/结合使用; 它似乎工作,但它是hacky和jQueryUI不能很好地与Bootstrap.

如何在添加触摸屏支持时避免Bootstrap/jQueryUI冲突?

jquery-ui touch jquery-ui-sortable twitter-bootstrap

48
推荐指数
2
解决办法
8万
查看次数