Mam wiele elementów na ekranie i muszę użyć paska przewijania, aby użytkownik mógł przewinąć w dół. Zwój jest jednak niewidoczny lub nie działa. Jak można dodać pasek przewijania do LinearLayout
?
241
Mam wiele elementów na ekranie i muszę użyć paska przewijania, aby użytkownik mógł przewinąć w dół. Zwój jest jednak niewidoczny lub nie działa. Jak można dodać pasek przewijania do LinearLayout
?
Odpowiedzi:
Zawiń układ liniowy za pomocą
<ScrollView>
Zobacz tutaj przykład:
źródło
źródło
Można to zrobić za pomocą znacznika
<ScrollView>
. W przypadku ScrollView należy pamiętać, że ScrollView musi mieć jedno dziecko .Jeśli chcesz, aby cały układ był przewijalny, dodaj go
<ScrollView>
u góry. Sprawdź przykład podany poniżej.Ale jeśli chcesz przewijać część układu, dodaj
<ScrollView>
tę część. Sprawdź przykład podany poniżej.źródło
Oto jak to zrobiłem metodą prób i błędów.
Ponieważ ScrollView może mieć tylko jedno dziecko, to dziecko jest układem liniowym. Następnie wszystkie pozostałe typy układów występują w pierwszym układzie liniowym. Nie próbowałem jeszcze dołączyć względnego układu, ale doprowadzają mnie do szału, więc poczekam, aż wrócę zdrowy rozsądek.
źródło
musisz użyć następującego atrybutu i zawrzeć go w układzie liniowym
źródło
Musisz umieścić ScrollView jako pierwsze dziecko pliku układu, a teraz umieścić w nim liniowy układ. Teraz Android zdecyduje na podstawie dostępnej zawartości i rozmiaru urządzenia, czy wyświetlać przewijane, czy nie.
Upewnij się linearlayout ma rodzeństwo ponieważ Scrollview nie może mieć więcej niż jedno dziecko.
źródło
źródło
Możesz dodać atrybut w linearLayout:
android:scrollbars="vertical"
źródło