Chcę pokazać przycisk pod a ListView
. Problem polega na tym, że jeśli ListView
zostanie wydłużony (dodane elementy ...), przycisk zostanie wypchnięty z ekranu.
Próbowałem LinearLayout
z wagami (jak zasugerowano w Androidzie: dlaczego nie ma maxHeight dla widoku? ), Ale albo źle zrozumiałem wagi, albo po prostu nie działało.
Również znalazłem gdzieś wskazówkę dotyczącą użycia pliku RelativeLayout
. ListView
Będzie wówczas ustawiony nad przyciskiem z android:layout_above
param.
Problem polega na tym, że nie wiem, jak później ustawić przycisk. W przykładzie, który znalazłem, widok poniżej ListView
został dostosowany za pomocą android:layout_alignParentBottom
, ale nie chcę, aby mój przycisk przylgnął do dolnej części ekranu.
Jakieś pomysły poza zastosowaniem metody setHeight i obliczeniem wymaganej przestrzeni?
Edycja: otrzymałem wiele przydatnych odpowiedzi.
Rozwiązanie bigstone & user639183 działało prawie idealnie. Musiałem jednak dodać dodatkowe wypełnienie / margines na dole przycisku, ponieważ nadal byłby wypychany do połowy z ekranu (ale potem zatrzymany)
Odpowiedź Adinii ze względnym układem jest w porządku tylko wtedy, gdy chcesz, aby przycisk był przymocowany do dołu ekranu. Nie to chciałem, ale nadal może być przydatne dla innych.
Rozwiązanie AngeloS było tym, które wybrałem na koniec, ponieważ stworzyło takie efekty, jakie chciałem. Jednak dokonałem dwóch drobnych zmian w obszarze
LinearLayout
wokół przycisku:Po pierwsze, ponieważ nie chciałem mieć żadnych wartości bezwzględnych w moim układzie, zmieniłem
android:layout_height="45px"
nawrap_content
, co również działa dobrze.Po drugie, ponieważ chciałem, aby przycisk był wyśrodkowany w poziomie, co jest obsługiwane tylko w pionie
LinearLayout
, zmieniłem android: orientacja = "pozioma" na "pionowa".
AngeloS stwierdził również w swoim początkowym poście, że nie był pewien, czy
android:layout_weight="0.1"
parametr wLinearLayout
okolicyListView
miał jakikolwiek wpływ; Właśnie próbowałem i faktycznie działa! Bez przycisku przycisk zostaje ponownie wypchnięty z ekranu.
android:layout_alignParentBottom="true"
. Ale żeby było jasne, czy chcesz, aby przycisk pozostawał dołączony do dołu ListView, gdy jest kilka elementów? Jeśli tak, zobacz, co mówi Rich.