2012-01-05 2 views
1

Я подхожу к этому правильно или есть лучший способ?Реализация форм, которые могут быть динамически изменены

Я хотел бы иметь различные формы, такие как линии, прямоугольники и т. Д., Чтобы пользователь мог изменять размер, вращать и иным образом изменять свои параметры, нажимая на фигуру и перетаскивая ее.

До сих пор я реализовал это с помощью фигур, рисуя фигуру в виде, а затем добавляя представление в макет. Затем пользователь может перетащить это представление.

Но это лучший способ? Делая это, я манипулирую вид, который содержит форму, а не сама форма.

Может ли форма быть изменена или перемещена непосредственно посредством манипуляций с пользователем?

ответ

1

Лучший способ рисования фигур в Android - это расширить класс из вида, а затем нарисовать фигуры в методе onDraw, и вы можете изменять размер и перемещать фигуры с помощью метода onTouch динамически.

См эту ссылку, http://www.kellbot.com/2009/06/android-hello-circle/

+0

Не будет ли вы быть повторно проклейки и перемещение фигур с помощью представления, что они содержатся в? Это то, что я уже реализовал. Мне было интересно, можно ли манипулировать фигурами напрямую. – KcYxA

+0

это нормально, чтобы добавить представление (пользовательская форма) и переместить onTouch. но можно ли изменять размер и поворачивать событие onTouch? Предположим, что при нажатии на вид новый значок (например, захват) добавляется в верхний левый угол формы, и когда пользователь перетаскивает этот захват, размер будет изменяться в соответствии с этим. –

+0

Да, это возможно. При выборе формы вы получите выбранную точку (используя любой алгоритм), а затем перерисуйте фигуру. – nik431

Смежные вопросы