2010-12-30 23 views
5

Mam działanie z przyciskiem "Dodaj" i "Usuń".Jak zawyżać widok w określonej pozycji?

Przycisk "Dodaj" nadmuchuje widok, a przycisk "Usuń" usuwa wybrany widok.

Kiedy nadmuchuję widok za pomocą przycisku "Dodaj", jest on automatycznie narysowany pod każdym wcześniej nieupoważnionym widokiem.

Chciałbym dać użytkownikowi możliwość poruszania każdy widok nadmuchanego w górę iw dół, aby mógł zmienić kolejność ich pokazać na ekranie (w rodzaju drag'n'drop efektu)

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

Czy można określić "pozycję", w której każdy widok jest zawyżony? (na przykład poniżej lub powyżej aktualnie wybranego widoku?)

Jeśli nie, jaki jest najlepszy sposób uzyskania pożądanego efektu?

(krępuj się poprosić o kawałek kodu, jeśli myślisz, że to może pomóc)

+2

:) ładny sztuka! człowiek –

Odpowiedz

10

Państwa zdanie wygląda pionowej LinearLayout. Więc polecam użyć czegoś takiego:

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

Używając INDEKSU (musisz jakoś określić) możesz kontrolować pozycję. LinearLayout to klasa podrzędna grupy ViewGroup, więc ta metoda jest dostępna.

dokumentów: