在我的xml-layout中,我有一个View as im,绘制一个跟踪手指的图标。
屏幕的另一半是一个简单的LinearLayout。我想知道我是否能够在我的视图之外绘制,并在线性布局上绘制?
我试着用下面的代码裁剪视图的画布:
Rect newRect = canvas.getClipBounds();
newRect.inset(0,400);
canvas.clipRect(newRect, Op.REPLACE);
canvas.drawBitmap(icon,fingerTouchX,fingerTouchY,null);我还在linearLayout的xml布局中添加了android:clipChildren="false"。我已经关闭了硬件加速。
尽管如此,它还是不工作。有没有人知道这是否可行?
谢谢!
发布于 2014-02-24 06:54:14
据我所知,你只能在你所在的视图上绘制,因为画布尺寸不会延伸到该视图之外。您可以让您正在绘制的View位于另一个视图(在您的示例中是LinearLayout)之上,以便它在另一个视图的区域上绘制,即使它不在视图本身上。

因此,简而言之,在绘制一个视图的画布时,您不能在另一个视图上,但如果第一个视图的区域包含第二个视图的区域,则可以在另一个视图上传达绘制效果。
发布于 2015-09-16 16:28:02
你需要使用负值的call inset:
newRect.inset(0, -400);https://stackoverflow.com/questions/21975681
复制相似问题