0

这是我在项目中的要求,我正在画布上的 android 中开发应用程序。画布覆盖整个屏幕,我在画布上绘制位图取决于与画布的纵横比。如何限制位图之外的绘图,任何人都可以帮忙。

4

1 回答 1

0

您的 onTouch 应该看起来像这样,是吗?

public boolean onTouch(View v, MotionEvent event) {

    x = (int) event.getRawX();
    y = (int) event.getRawY();
    /* other code */
}

好吧,您可以做的是限制 onTouch 方法在 X 和 Y 不在位图上时执行任何操作。

如果 onTouch 已经“真正”消费了一个事件,onTouch 也会返回一个布尔值。在这种情况下,您希望在 X、Y 值在位图上时返回 true,但在 X、Y 值不在位图上时返回 false。

此外,如果您希望事件表现得就像他们离开位图时抬起手指一样,您甚至可以再次调用 onTouch 传递如下事件:

this.onTouch(v, MotionEvent.ACTION_UP);

我希望这有帮助!

于 2012-11-13T20:42:35.597 回答