- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前,我为我的绘图应用程序实现了缩放功能,效果很好。只是几行让你知道我在说什么:
setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent rawEvent) {
WrapMotionEvent event = WrapMotionEvent.wrap(rawEvent);
// Handle touch events here...
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
drawSomethingHere();
case MotionEvent.ACTION_POINTER_DOWN:
startZoomingModeHere();
...
所以我想要的是:一根手指画画,两根手指缩放。问题是:在第二根手指接触表面之前,总是会触发 ACTION_DOWN 事件。所以每次我想缩放时,我的应用程序都会在缩放模式启动之前绘制一个点。
有人知道如何解决这个问题吗?
最佳答案
我认为你应该在开始绘制之前等待几毫秒,因为不可能在同一毫秒内恰好放置两个手指。
您可以让一个 bool 变量等待。
boolean boolean_pointer_down = false;
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
// Start a thread to call drawSomethingHere in 300 - 700 milliseconds
// if action_pointer_down haven’t been called.
new ThreadDraw().start();
case MotionEvent.ACTION_POINTER_DOWN:
boolean_pointer_down=true;
startZoomingModeHere();
....
//Method run in the thread
public void run(){
wait(300); //if the user didn't put more fingers in 300 ms he's not going to zoom
if (!boolean_pointer_down){
drawSomethingHere();
boolean_pointer_down = false;
}
}
关于android:如何在不触发点击的情况下捏缩放(ACTION_DOWN),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8202209/
我正在做一个带有相册的页面 View Controller ,由于我一直无法找到一种方法来在不更改图片的情况下平移缩放的图像,所以我希望图像在用户停止捏。 这是我的代码: @objc func p
我使用 OpenGL 绘制了几个二维形状现在我想添加捏/缩放。我的观点是透视图(顶 View )。我假设它是 3D,z 轴 = 0。 现在,我应该如何更改 glfrustum 并在我的 Activit
我可以像这样使用缩放功能: - (void)twoFingerPinch:(UIPinchGestureRecognizer *)recognizer { if([recognizer sta
如果您在跟踪设备位置的同时在 Apple 的 map 应用程序中缩放以放大/缩小,则捏合手势的“平移”组件将被忽略,蓝色位置指示器将固定在屏幕中央。使用普通 MKMapView 时情况并非如此。 假设
在过去的几个小时里,这个问题一直让我发疯。所以我有一个非常简单的 UIScrollView 设置: -UIScrollView -UIImageView 就是这样。 scrollview 和
1.UITapGestureRecognizer 点击/双击手势 复制代码 代码如下: var tapGesture = UITapGestureRecognizer(target:
我是一名优秀的程序员,十分优秀!