我寫了一個自定義視圖,它在屏幕的中心顯示文本,如下所示。 旋轉的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