RelativeLayout создать кнопку в динамическом положении - PullRequest
1 голос
/ 08 августа 2011

enter image description here

Я работаю над проектом, который включает рисование на изображениях.

Чтобы удалить ненужные линии или кривые, мне нужно нарисовать границу и кнопку X, чтобы удалить ее.

У меня есть относительный макет, где у меня есть холст для рисования от руки.в режиме редактирования я должен сделать их, как вы видите на картинке, где я должен создать кнопку на различных позициях x, y.

Я не совсем понимаю, как этого добиться.

Спасибоавансовый.Jana.

Ответы [ 2 ]

1 голос
/ 08 августа 2011

Я предлагаю делать это вручную, а не использовать виджет Button.Переопределите onTouchEvent в представлении, удерживающем вашу картину, и используйте MotionEvent.getX и MotionEvent.getY в сочетании с MotionEvent.getAction, чтобы определить поведение, когда пользователь нажимает кнопку.Пропуск создания виджетов улучшит производительность и откроет двери для других типов функциональности.

0 голосов
/ 08 августа 2011

Вы можете использовать устаревший контейнер AbsoluteLayout для этого или оставить RelativeLayout и использовать layoutMargins, чтобы установить расположение кнопок.Первый - это маршрут, который вы должны выбрать, несмотря на то, что контейнер устарел, поскольку позднее он нарушает парадигму макета, неправильно используя поля ...

Следует иметь в виду, что существует множество устройств с различными размерами экрана и настройкамиЯвные, основанные на пикселях местоположения будут неудобными.

...