ユーザーが画面上の円に触れる必要がある Android アプリを構築しています。ユーザーのタッチが円の中心からどれだけ離れているかを記録する必要があります。
このアプリを多くのデバイスで実行し、すべての結果を均一にしたいので、ピクセル距離ではなく物理的な距離を記録したいのです。たとえば、円の中心からのユーザーのタッチ距離が 15px の場合、これは、あるデバイスでは 0.5cm、別のデバイスでは 1cm の物理的な距離になる可能性があります (これらの数字はただの数字ですが、おわかりいただけると思います)。したがって、ピクセルではなく、物理的な測定値のみに頼ることができます。
では、タッチ距離をどのように記録すればよいでしょうか。このView.onTouchEvent
メソッドは、タッチ イベントの x と y をピクセル単位で提供します (私は推測しています)。そのため、円の中心からタッチまでの距離をピクセル単位で取得し、それをdpに変換します (そしてすべてを保存します) 。結果は dp 単位になります)? または、ピクセル距離をptに変換する必要があります。これは、どのデバイスでも同じ物理サイズであると想定されていますか? もしそうなら、どのように px から pt に変換しますか (これに対する答えがどこにも見つからないようです)?