相关疑难解决方法(0)

Android两指旋转

我试图在android中实现两个手指旋转,但它并没有按预期工作.目标是实现像Google Earth一样的旋转(双指旋转焦点周围的图像).目前我的旋转侦听器如下所示:

 private class RotationGestureListener {
    private static final int INVALID_POINTER_ID = -1;
    private float fX, fY, sX, sY, focalX, focalY;
    private int ptrID1, ptrID2;

    public RotationGestureListener(){
        ptrID1 = INVALID_POINTER_ID;
        ptrID2 = INVALID_POINTER_ID;
    }

    public boolean onTouchEvent(MotionEvent event){
        switch (event.getActionMasked()) {
            case MotionEvent.ACTION_DOWN:
                sX = event.getX();
                sY = event.getY();
                ptrID1 = event.getPointerId(0);
                break;
            case MotionEvent.ACTION_POINTER_DOWN:
                fX = event.getX();
                fY = event.getY();
                focalX = getMidpoint(fX, sX);
                focalY = getMidpoint(fY, sY);
                ptrID2 = event.getPointerId(event.getActionIndex());
                break;
            case MotionEvent.ACTION_MOVE:

                if(ptrID1 != INVALID_POINTER_ID && ptrID2 …
Run Code Online (Sandbox Code Playgroud)

android rotation gesture-recognition

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

Android ImageView缩放和翻译问题

我正在开发一个Android应用程序(API 19 4.4),我遇到了ImageViews的一些问题.我有一个SurfaceView,我在其中动态添加我想对触摸事件做出反应的ImageViews.到目前为止,我已经成功地使ImageView移动并且平滑地缩放,但是我有一个讨厌的行为.

当我将图像缩小到一定限度(我会说原始尺寸的一半)并且我尝试移动它时,图像闪烁.经过简短的分析,它似乎是围绕屏幕上的手指点对称地切换它的位置,累积距离,最后消失(所有这些都发生得非常快(<1s).我想我错过了与亲戚的关系触摸事件对ImageView/SurfaceView的价值,但我是一个相当的菜鸟,我被困了......

这是我的代码

public class MyImageView extends ImageView {
private ScaleGestureDetector mScaleDetector ;
private static final int MAX_SIZE = 1024;

private static final String TAG = "MyImageView";
PointF DownPT = new PointF(); // Record Mouse Position When Pressed Down
PointF StartPT = new PointF(); // Record Start Position of 'img'

public MyImageView(Context context) {
    super(context);
    mScaleDetector = new ScaleGestureDetector(context,new MySimpleOnScaleGestureListener());
    setBackgroundColor(Color.RED);
    setScaleType(ScaleType.MATRIX);
    setAdjustViewBounds(true);
    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);

    lp.setMargins(-MAX_SIZE, -MAX_SIZE, -MAX_SIZE, -MAX_SIZE);
    this.setLayoutParams(lp);
    this.setX(MAX_SIZE);
    this.setY(MAX_SIZE);

}

int …
Run Code Online (Sandbox Code Playgroud)

android view translate scale touch

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

如何在Android中对图像应用缩放,拖动和旋转

有人可以告诉我在Android应用程序中对图像应用缩放,拖动和旋转的教程吗?

android

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

标签 统计

android ×3

gesture-recognition ×1

rotation ×1

scale ×1

touch ×1

translate ×1

view ×1