我正在使用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) 我必须实现图像缩放,我已经尝试了这么多代码.但我没有完全了解手势事件.我想实现当我们应用双击时,图像将根据触摸位置(事件x和y)进行缩放.我必须实现此时只有缩放没有泛.可以任何身体建议我吗?
编辑:实际上我已经用图像实现了viewflipper,如果我尝试应用平移和缩放效果,有时图像将被更改.我想为单击用户的位置实现缩放效果.
给我一些想法....
我们中的许多人必须遇到像Tinder和Dripper这样的应用程序,您可以在其中下拉包含图像的视图并放大图像.然后当您放开时,图像会缩小以返回其原始状态.
让我们以Tinder为例:
原来的状态:和放大的状态时,拉:

在iOS中完成它
- (void)viewDidLoad {
[super viewDidLoad];
self.imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"church-welcome.png"]];
self.imageView.contentMode = UIViewContentModeScaleAspectFill;
self.cachedImageViewSize = self.imageView.frame;
[self.tableView addSubview:self.imageView];
[self.tableView sendSubviewToBack:self.imageView];
self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 170)];
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat y = -scrollView.contentOffset.y;
if (y > 0) {
self.imageView.frame = CGRectMake(0, scrollView.contentOffset.y, self.cachedImageViewSize.size.width+y, self.cachedImageViewSize.size.height+y);
self.imageView.center = CGPointMake(self.view.center.x, self.imageView.center.y);
}
}
Run Code Online (Sandbox Code Playgroud)
由于我在Objective C和iOS方面的专业知识非常有限,我无法在Android中实现它.
以下是我认为应该做的事情:
有没有人知道是否有任何库可以用于此目的?
任何人都可以帮助如何使用矩阵scaletype来缩放imageview,以及如何使用translate方法使它可以聚焦在中心?我已经尝试使用webview能够使用我需要的缩放和滚动功能但是看起来并不好看.
我正在为书开发Android应用程序.我为书创作的总图像是一百.在app中,两个按钮呈现一个是前一个按钮,第二个是下一个按钮.上一个按钮和下一个按钮正确地向前和向后移动图像.但现在我想实现图像的缩放效果.但文字是一些看不清楚的小事.请帮忙.谢谢
我有一个可以缩放的imageview.我有一个运行良好的代码,但我的问题是我想添加最大和最小缩放级别的限制.
import android.annotation.TargetApi;
import android.app.ActionBar;
import android.app.Activity;
import android.graphics.Matrix;
import android.graphics.PointF;
import android.os.Build;
import android.os.Bundle;
import android.util.FloatMath;
import android.util.Log;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageView;
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public class Reach extends Activity implements OnTouchListener
{
private static final String TAG = "Touch";
@SuppressWarnings("unused")
private static final float MIN_ZOOM = 1f,MAX_ZOOM = 1f;
// These matrices will be used to scale points of the image
Matrix matrix = new Matrix();
Matrix savedMatrix = new Matrix();
// The 3 …Run Code Online (Sandbox Code Playgroud) 我是android的新手。点击图像时,像whatsapp图像一样,将图像视图弹出到全屏(启用捏合缩放)的最简单方法是什么?我正在通过Glide在回收器视图中加载图像。感谢您的时间和答复。
我正在调整 ImageView 的大小并自动将图像拟合到它,我需要它来放大和缩小图像,这是我希望实现的方式,因为图像已经是 2048x2048 并且我无法重新调整它的大小。但是代码由于某种原因只能工作一次,第二次点击没有任何作用。如果您有其他想法或建议,我很乐意听取他们的意见。谢谢你。
ImageView map = (ImageView) findViewById(R.id.imageViewMap);
Bitmap mapIm = BitmapFactory.decodeResource(getResources(),R.drawable.myMap);
map.setImageBitmap(mapIm); //first view
zoomIn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
map.getLayoutParams().height = counter*5000 ;
map.getLayoutParams().width = counter*5000;
BitmapDrawable bmd = new BitmapDrawable(mapIm);
map.setImageDrawable(bmd);
bmd = null;
counter++;
}
});
Run Code Online (Sandbox Code Playgroud)