Я полностью согласен с тем, что документация
public List<HitResult> hitTest (float xPx, float yPx)
является расплывчатой.Но документация о перегруженном методе
public List<HitResult> hitTest (float[] origin3, int originOffset, float[] direction3, int directionOffset)
говорит
Аналогично hitTest (float, float), но принимает произвольный луч в координатах мирового пространствавместо точки на экране.
Следовательно, параметры метода hitTest (float xPx, float yPx)
должны быть в пространство экрана .Изменение сигнатуры метода на hitTest (float screenSpaceX, float screenSpaceY)
было бы намного более информативным и читабельным.
Наряду с
Rect displaySize = new Rect();
((WindowManager)getContext().getSystemService(Context.WINDOW_SERVICE))
.getDefaultDisplay().getRectSize(displaySize);
, предоставляющим вам размер экрана, вы сможете выполнить правильный hitTest(float, float)
вызовы.