我正在创建一个允许免费绘图的Android应用程序。
绘图区域由FrameLayout表示,其中包含一组DrawingView(从View派生)。
每个DawingView都有一个透明的背景,其大小与FrameLayout的大小相匹配。
DrawingView绘制路径(通过调用path.moveTo后跟多个path.lineTo构建)
Path _penPath;
Paint _paint;
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawPath(_penPath, _paint);
}
我需要执行命中测试,只有当触摸指针位于实际路径上时才为真,如果它位于透明背景上则为false。
目前,在Z顺序中为每个DrawingView调用onTouch函数。
我知道我可以计算触摸指针与路径中每个点之间的距离,并将其与阈值进行比较以实现命中测试,但我希望框架中有一些我可以使用的东西。
例如在C#WPF透明区域,如果未明确配置,则不会引发触摸事件。
感谢。