AndroidでRegionでXを指定すると最大のYポイントを見つける方法を教えてください。
私は仮想ルーラーを画面に描いています。私は、タッチイベントが成長した矩形内で発生すると、上の青い線のような直線を描くことができるようにしたい。タッチは100%ストレートではないため、動きは赤い線のように見えます。そのため、近くのすべてのタッチイベントを聴くための四角形を設定してから、青い線を描きます。
私は現在、タッチもmRegions.contains(x,y)
によって茶色の長方形内に起こるならば、私はチェック
mRulerRect.set(mRulerCenter.x - mRulerBitmap.getWidth()/2,
mRulerCenter.y - mRulerBitmap.getHeight()),
mRulerCenter.x + mRulerBitmap.getWidth()/2,
mRulerCenter.y);
mPath.addRect(mRulerRect, Path.Direction.CCW);
mRulerMatrix.setRotate(mRulerAngle, mRulerCenter.x, mRulerCenter.y);
mPath.transform(mRulerMatrix);
mRegions.setPath(mPath, new Region(mRulerRect));
を持っています。タッチ検出のためにこれまで完璧に動作しますが、私が今問題としているのは直線を描く方法です。私はXポイントを修正してYを計算しようとしました。水平から垂直に向かうときに、ルーラーが水平であり、非常に奇妙な動作を開始すると、正常に動作します。私はこれをどのように達成するか考えていません。助けてください!ありがとうございました。あなたが知っている
である本当に問題ではありませんその茶色の矩形の中にあるタッチ座標を取得し、そこから通過して、ルーラーに平行な線を描きたいですか? – lelloman
@lellomanはい!それは正しいですが、移動イベントは赤い線のように起こる可能性があるので、どのようにしてルーラーに平行な青い線を描くことができますか? – user1865027