我写了一个自定义视图,它在屏幕的中心显示文本,如下所示。 旋转的Android画布会导致myRect.contains(X,Y)不起作用
我也做到了这一点,如果你触摸绿色框,你可以旋转和缩放文本,如下所示。
继承人的问题。 每当我旋转文本并放手,然后尝试再次旋转它不能检测到使用myRect.contains(X,Y)触摸矩形。 经过一段时间后,我发现旋转后,触摸原始绿色框的位置,它允许我再次旋转。
OnTouchEvent显然是在绘制正确的位置后正确计算Rects位置。我只能弄清楚为什么触摸坐标看起来像是在引用旧的位置。
这是我的onDraw()方法。
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.save();
canvas.rotate((float)mAngle, mBorderRect.centerX(), mBorderRect.centerY());
canvas.drawRect(mBorderRect, mTextBorderPaint);
canvas.drawText(mText, mBorderRect.left, mBorderRect.bottom, mTextPaint);
canvas.drawRect(mResizeRect, mBGPaint);
canvas.restore();
}
嗨,你可以发布解决方案的例子吗?目前我的问题与您的相同,但我不太清楚如何首先在触摸位置上反转。感谢 – Ricky