【问题标题】:Android Pinch Zoom Not working in EmulatorAndroid捏缩放在模拟器中不起作用
【发布时间】:2014-10-24 05:48:41
【问题描述】:

我正在为 android 创建一个简单的应用程序

比例手势检测器

对于使用捏缩放

的图像

功能,但它不适用于模拟器 Android Build Version 2.2

我的活动代码如下:

package com.example.androidgesturedemo;

import android.app.Activity;
import android.content.Context;
import android.graphics.Matrix;
import android.os.Bundle;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.widget.ImageView;

public class MainActivity extends Activity {

    private ImageView img;
    private Matrix matrix = new Matrix();
    private float scale = 1f;
    private ScaleGestureDetector SGD;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        img = (ImageView) findViewById(R.id.imageView1);
        SGD = new ScaleGestureDetector(this, new ScaleListener());
    }

    @Override
    public boolean onTouchEvent(MotionEvent ev) {

        SGD.onTouchEvent(ev);

        return true;

    }

    private class ScaleListener extends
            ScaleGestureDetector.SimpleOnScaleGestureListener {

        @Override
        public boolean onScale(ScaleGestureDetector detector) {

            scale *= detector.getScaleFactor();
            scale = Math.max(0.1f, Math.min(scale, 5.0f));
            matrix.setScale(scale, scale);
            img.setImageMatrix(matrix);

            return true;

        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

【问题讨论】:

  • 检查真实设备无法使用模拟器
  • 为什么它不能与模拟器一起使用它应该可以工作
  • 所以你让一个视图对模拟器上的捏缩放做出反应?您希望如何仅使用 一个 鼠标在模拟器上做出 多点触控 手势?
  • @Gumbo 想知道两只老鼠是否有可能;)

标签: android view pinchzoom android-gesture


【解决方案1】:

您可以借助真机在模拟器中测试多点触控。检查here 怎么做。

【讨论】:

  • 那么按照这个说明,您可以使用真正的 android 设备通过usb 控制emulator 吗?为什么不直接用手机进行测试呢?
  • @Gumbo 如果您想在多种屏幕尺寸和多种设备上测试您的应用,您可以创建 n 个模拟器并使用单个真机进行测试,而不是购买 n 个真机。
  • 好吧,没想到这样 :)
  • cntrl + 捏放大然后可能
  • @DaxeshKhatri 捏合需要两根手指。控制+捏?如何?你能用一根手指捏我吗?
猜你喜欢
  • 2012-04-18
  • 1970-01-01
  • 1970-01-01
  • 2012-03-20
  • 2017-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-15
相关资源
最近更新 更多