gpt4 book ai didi

android - android中 View 的缩放和平移

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:02:38 24 4
gpt4 key购买 nike

嗨 friend 们我正在创建一个应用程序,我在其中放置了两个 View 。第一个是 imageview,另一个是我的 customeview。

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

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);

}

}
}

很多事情都从代码中清除了,比如在 drawapplication 上存储路径等。

现在我们决定为此 View 提供缩放和平移功能。并且我的绘图也应该与后面的 imageview 一起相应地缩放。

我也应该能够正确绘制。

我尝试了 Canvas 缩放,但这是最糟糕的,因为在缩放之后我无法绘制到触摸点,而且到屏幕的绘制也更少,导致更多的绘制到 View 。

在小部件上绘图也是一项非常耗时的任务,会导致性能下降。请提供任何方式。

而且我正在使用 api 级别 10。

编辑1

好 friend 。我有一个想法。我必须在不同的缩放级别上绘制路径。因此,如果我们可以计算不同缩放级别的路径比,它将解决我的问题。请提供相应的帮助

编辑2

如果我们能够缩放路径那么它就可以解决我的问题

编辑3

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

最佳答案

关于 SO 的类似问题:

可以在 Honeycomb(API lvl 11)上完成,但之前不正确。

关于android - android中 View 的缩放和平移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5577948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com