在android中缩放和平移视图

您好朋友,我正在创build一个应用程序,我把两个意见。 首先是imageview,另一个是我的客户。

我正在绘制自定义视图的图像。 我的自定义视图代码如下

public class DrawView extends ImageView{ @SuppressWarnings("unused") private static final String TAG = "DrawView"; Painter painter = new Painter(); PathStack pathStack; private DrawApplication drawApplication; public DrawView(Context context, AttributeSet attr) { super(context,attr); setFocusable(true); setFocusableInTouchMode(true); drawApplication=(DrawApplication)context.getApplicationContext(); pathStack=drawApplication.getPainter().getPathStack(); painter=drawApplication.getPainter(); setScaleType(ScaleType.MATRIX); } @Override public void onDraw(Canvas canvas) { float scaleFactor=drawApplication.getScaleFactor(); canvas.scale(scaleFactor, scaleFactor,(float)getWidth()/2,(float)getHeight()/2); List<DrawingPath> currentStack=pathStack.getCurrentStack(); for (DrawingPath drawPath : currentStack) { drawPath.draw(canvas, painter); } } } 

许多事情从代码中清楚,例如在应用程序上存储path等。

现在我们决定为这个视图提供缩放平移。 而且我的绘图也应该放在后面的imageview中。

我也应该能够正确绘制。

我尝试了canvas缩放,但这是最糟糕的,因为在缩放之后,我无法绘制到所触摸的点,也没有绘制到屏幕,导致更多的绘制到视图。

在小部件上绘图也是非常冗长的任务,导致性能下降。 PLZ提供任何方式。

也是我使用的API级别10。

EDIT1

好朋友。 我有一个想法。 我必须在不同的缩放级别上绘制path。 所以如果我们能够在不同的缩放级别下计算path比率,将会解决我的问题。 PLZ相应地提供帮助

EDIT2

如果我们能够扩展path,那么它可以解决我的问题

EDIT3

我认为,如果我们在位图上绘制比我能达到我的目标,但我的问题是调整位图大小,并提供滚动位图在不同的缩放级别

Solutions Collecting From Web of "在android中缩放和平移视图"