【发布时间】:2014-03-04 15:03:42
【问题描述】:
我想创建一个比屏幕大的布局 (RelativeLayout),大约 3500*3500。 它在各种位置上都有子代,它们也使用触摸事件来改变它们的位置。
我现在所做的是,将布局缩小到用户可以看到所有视图的水平。
我的问题是,如果布局没有缩放(实际大小为 3500*3500),如何滚动布局以查看所有子视图?
@Override
protected void dispatchDraw(Canvas canvas) {
//Save the canvas to set the scaling factor returned from detector
canvas.save(Canvas.MATRIX_SAVE_FLAG);
canvas.scale(mScaleFactor, mScaleFactor,gx,gy);
//canvas.translate(tx, ty);
super.dispatchDraw(canvas);
mClipBound = canvas.getClipBounds();
canvas.restore();
}
我想知道是否可以在触摸移动中使用 canvas.translate(x, y)?请推荐?
【问题讨论】:
-
您考虑过为此使用 GridLayout 吗?我认为您要求的方法可能容易出现问题,并且 GridLayout 可能会用于您所追求的。如果在这种情况下您不能使用 GridLayout,您能否提供更多信息,为什么会这样?
-
@PSIXO 我无法使用 gridview。更清楚地说,我想要一个像 web 视图这样的布局。可以放大缩小&可以滚动。除了我的布局的子视图也是可移动的。
标签: android android-layout touch