相关疑难解决方法(0)

Android Image View Pinch Zooming

我正在使用Make Sense of Multitouch中的代码示例 来缩放图像视图.在ScaleListener上,我添加ScaleGestureDetector.getFocusX() and getFocusY()内容以缩放手势的焦点.它工作正常.

问题是,在第一次多点触控时,整个图像绘制位置将变为当前触摸点并从那里进行缩放.你能帮我解决这个问题吗?

这是TouchImageView的My Code Sample.

public class TouchImageViewSample extends ImageView {

private Paint borderPaint = null;
private Paint backgroundPaint = null;

private float mPosX = 0f;
private float mPosY = 0f;

private float mLastTouchX;
private float mLastTouchY;
private static final int INVALID_POINTER_ID = -1;
private static final String LOG_TAG = "TouchImageView";

// The ‘active pointer’ is the one currently moving our object.
private int mActivePointerId = INVALID_POINTER_ID;

public TouchImageViewSample(Context context) …
Run Code Online (Sandbox Code Playgroud)

android android-widget android-intent android-layout

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

如何在android中实现图像视图的缩放效果?

我必须实现图像缩放,我已经尝试了这么多代码.但我没有完全了解手势事件.我想实现当我们应用双击时,图像将根据触摸位置(事件x和y)进行缩放.我必须实现此时只有缩放没有泛.可以任何身体建议我吗?

编辑:实际上我已经用图像实现了viewflipper,如果我尝试应用平移和缩放效果,有时图像将被更改.我想为单击用户的位置实现缩放效果.

给我一些想法....

android image zooming

55
推荐指数
6
解决办法
13万
查看次数

在android imageview中旋转缩放拖动图像

我希望能够在android framelayout和imageview中旋转,缩放和移动图像.使用以下代码,我能够做到这一点.但是视图有时会脱离UI.你可以在ACTION_UP中处理旋转(每个ACTION_UP旋转90度)动作事件.以下是我的main.xml:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent" >
   <ImageView android:id="@+id/imageView"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent"
         android:src="@drawable/csf6a4_flipped"
         android:scaleType="matrix" >
   </ImageView>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

以下是我的java文件:

package com.example.rotatezoommove;



import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.graphics.PointF;
import android.os.Bundle;
import android.util.FloatMath;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageView;

public class RotateZoomMove extends Activity implements OnTouchListener {
   private static final String TAG = "Touch";
   // These matrices will be used to move and zoom image
   Matrix matrix = new Matrix();
   Matrix savedMatrix = …
Run Code Online (Sandbox Code Playgroud)

graphics android image

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

使用android中的矩阵缩放和拖动图像

我得到以下代码(来自Ed Burnette的Hello android)工作得很好,我能够拖动和缩放图像.

import android.app.Activity;
import android.graphics.Matrix;
import android.graphics.PointF;
import android.os.Bundle;
import android.util.FloatMath;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageView;

public class Touch extends Activity implements OnTouchListener {
   private static final String TAG = "Touch";
   // These matrices will be used to move and zoom image
   Matrix matrix = new Matrix();
   Matrix savedMatrix = new Matrix();

   // We can be in one of these 3 states
   static final int NONE = 0;
   static final int DRAG = …
Run Code Online (Sandbox Code Playgroud)

android drag-and-drop image zoom

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

画布捏缩放到界限内

我已经坚持这个问题八个小时了,所以我觉得是时候得到一些帮助了.

在我开始我的问题之前,我只会让我知道我已经通过这个网站和谷歌,我找到的答案都没有帮助.(是一个,另一个,另一个.)

这是交易:我有一个扩展的类SurfaceView(让我们称之为MySurface)并覆盖其中的许多方法.通常情况下,它会绘制几个正方形和文本框,这一切都很好.一旦用户开始触摸,它就会转换为a Bitmap,然后绘制每个帧,直到用户释放.

这就是问题:我想实现这样一种功能:用户可以将两根手指放在屏幕上,捏缩放,也可以平移(但只能用两根手指向下).

我发现了一些缩放到缩放的实现,并通过以下方式将它们改编为我的Canvas对象MySurface:

public void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    canvas.save();

    canvas.scale(mScaleVector.z, mScaleVector.z); // This is the scale factor as seen below
    canvas.translate(mScaleVector.x, mScaleVector.y); // These are offset values from 0,0, both working fine

    // Start draw code

    // ...

    // End draw code

    canvas.restore();
}
private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {
    @Override
    public boolean onScale(ScaleGestureDetector detector) {
        float factor = detector.getScaleFactor();
        if …
Run Code Online (Sandbox Code Playgroud)

android android-canvas android-gesture

10
推荐指数
1
解决办法
9741
查看次数

如何使用缩放和平移功能创建imageview?

我创建了一个应用程序,其中包含从网站的URL加载的小图像.我希望当用户点击该小图片时,它将以全屏显示图像,并且还能够缩放和平移该图像.

我所做的是在内置缩放控件的WebView中显示图像,但结果很难看.(我已将布局设置为wrap_content,因此不会显示白色区域,但会导致图像不动态缩放).

有解决方案吗 抱歉我的英语不好

android android-imageview

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

在 Android 中捏缩放和 2 指旋转 ImageView

我在过去 2 天遇到了一个问题,因为我是新手,所以无法解决它。实际上,我正在开发一个需要在 Android ImageView 上进行缩放和两指旋转的 Android 应用程序。我得到了多个教程和解决方案,这些教程和解决方案适用于双指缩放,但不适用于 2 指旋转。我正在分享易于理解的最简单的教程,我想将其扩展为 2 指旋转。这是代码片段:

    public class MainActivity extends Activity {
    private ImageView mImageView;
    private Matrix mMatrix = new Matrix();
    private float mScale = 1f;
    private ScaleGestureDetector mScaleGestureDetector;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mImageView = (ImageView) findViewById(R.id.imageView);
        mScaleGestureDetector = new ScaleGestureDetector(this, new ScaleListener());
    }

    public boolean onTouchEvent(MotionEvent ev) {
        mScaleGestureDetector.onTouchEvent(ev);
        return true;
    }

    private class ScaleListener extends ScaleGestureDetector.
            SimpleOnScaleGestureListener {
        @Override
        public boolean onScale(ScaleGestureDetector detector) {
            mScale *= detector.getScaleFactor();
            mScale …
Run Code Online (Sandbox Code Playgroud)

android multi-touch image-rotation pinchzoom android-studio

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

android ImageView单指旋转

我看过很多帖子,但找不到答案.我想用另一个位于根图像下方的小图像旋转根图像.

虽然旋转它的工作但我第一次按它时,由于math.tan(),它会跳到45度,我想我有一个计算问题.

       rotateImage.setOnTouchListener(new OnTouchListener() {

    @Override

public boolean onTouch(View view, MotionEvent event) {

final int action = MotionEventCompat.getActionMasked(event);

        switch (action) {
        case MotionEvent.ACTION_UP:
        break;
        case MotionEvent.ACTION_DOWN:

        rotateX = event.getRawX() - rotateImage.getWidth() / 2;
        rotateY = event.getRawY() - rotateImage.getHeight() / 2;


        break;

        case MotionEvent.ACTION_MOVE:

        float angle = (float) Math.toDegrees(Math.atan2(event.getRawY() - rotateY, event.getRawX() - rotateX));

        if (angle < 0){
        angle += 360;
        }

        mBinding.getRoot().setRotation(angle);


        }

        return true;
        }
        });
Run Code Online (Sandbox Code Playgroud)

请指教.

android rotation

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

如何在Android中一起执行放大/缩小,旋转

我想应用拖动,放大/缩小,使用多点触控旋转到两个图像.一个图像放在另一个的顶部.在应用这些行动之后

创建一个图像

通过应用操作进行更改后,从上面的两个图像.

我成功应用缩放/拖动到顶部图像,从中创建新图像.

主要问题是

1.如何对两张图像应用动作,一次一张图像?

2.如何从当前显示的图像切换到另一个图像(我应该使用哪种布局)?

3.用户如何使用多点触控旋转或缩放图像?

我缺少什么,对不起列表 - :)

android multi-touch image-rotation

4
推荐指数
1
解决办法
5846
查看次数