Ограничить перетаскивание вида только в одном направлении (как влево), а не только по оси - PullRequest
0 голосов
/ 07 февраля 2020

Итак, я работаю над проектом, где вокруг плавает картинка. Вы можете перемещать изображение, применять силы и обнаружение столкновений.

Я использую библиотеку PhysicsLayout от @Jawnnypoo.

Есть границы, но вы можете перетащить объект через желоб, и тогда он выскользнет за пределы.

Я пытаюсь реализовать метод, когда объект сталкивается с границами, я хочу определить, какая это граница (я получил эту часть), и я хочу ограничить перетаскивание в этом направлении.

Я видел, что есть метод зажима ViewPotisitionHor horizontal (), но он ограничивает перетаскивание по всей оси. Есть мысли?

physicsLinearLayout.getPhysics().setOnCollisionListener(new Physics.OnCollisionListener() {
    @Override
    public void onCollisionEntered(int viewIdA, int viewIdB) {

    }

    @Override
    public void onCollisionExited(int viewIdA, int viewIdB) {

    }
});

В onCollisionEntered () вы получаете идентификаторы границ, поэтому, когда я получаю определенную c границу, я могу вызвать метод для этого направления. Мне просто нужно выяснить, каким должен быть метод или что мне использовать.

...