Изменить размер прямоугольника, перетаскивая его углы в Android? - PullRequest
3 голосов
/ 21 февраля 2011

http://farm3.anhso.net/upload/20110221/12/o/anhso-121531_example.jpg

Вот примеры, когда вы перетаскиваете A или B, размер прямоугольника будет изменен

Как я могу это сделать?

1 Ответ

3 голосов
/ 27 февраля 2011

Это довольно просто. Позвольте мне предположить, что в вашем макете есть только один вид. Это делает несколько вещей намного проще.

Когда вы получаете действие касания, вы должны проверить, где находится точка зрения. координаты прямоугольника вам, очевидно, известны. Также поймите, что вам нужно прикасаться в непосредственной близости от A или B. Прикосновение только «предназначено», чтобы быть точным. Но на самом деле это не так. Таким образом, вы должны создать окрестность, в которой вы примете прикосновение, чтобы находиться в оговоренной точке.

Если точка касания находится вблизи A или B, вы должны установить флаг, который будет проверяться в действии перемещения касанием. Сохранение каждой точки прикоснулась или перемещенной на в каком-то ссылочном переменном является хорошей идеей, Потому что тогда вы можете получить смещение текущей точки (где палец прикасается в данный момент) от последнего известного пункта (который был затронут прежде - ваш ориентир).

Используя эту разницу (дельта вдоль х и у), вы сможете изменить длину и высоту прямоугольника. Отменить вид после изменения этих параметров. Снова рисуется прямоугольник, и кажется, что размеры изменились.

...