2010-12-30 4 views
5

У меня есть активность с кнопкой «Добавить» и «Удалить».Как раздуть представление в определенном положении?

Кнопка «Добавить» надувает вид, кнопка «Удалить» удаляет выбранный вид.

Когда я раздуваю представление кнопкой «Добавить», он автоматически рисуется ниже любого ранее свернутого вида.

Я хотел бы дать пользователю возможность перемещать каждый надутый вид вверх и вниз, так что он может изменить порядок они показывают в экране (в drag'n'drop виде эффекта)

+---------------------+  +---------------------+ 
| +-----------------+ |  | +-----------------+ | 
| |  View 1  | |  | |  View 2  | | 
| +-----------------+ |  | +-----------------+ | 
|      | --> |      | 
| +-----------------+ |  | +-----------------+ | 
| |  View 2  | |  | |  View 1  | | 
| +-----------------+ |  | +-----------------+ | 
+---------------------+  +---------------------+ 

Можно ли указать «позицию», в которой каждый вид завышен? (например, ниже или выше выбранного в данный момент вида?)

Если нет, то каков наилучший способ достижения желаемого эффекта?

(не стесняйтесь попросить любой кусок кода, если вы думаете, что могло бы помочь)

+2

:) приятно искусство! человек –

ответ

10

Ваше мнение выглядит как вертикальная LinearLayout. Поэтому я рекомендовал бы использовать что-то вроде:

View v = inflater.inflate(R.layout.XXXX, null); 
yourLinearLayout.addView(v, INDEX, new LinearLayout.LayoutParams(...) 

Использование INDEX (вы должны определить, каким-то образом) вы можете контролировать положение. LinearLayout - дочерний класс ViewGroup, поэтому метод доступен.

Документы: