Jeśli chcesz, aby zawsze być na dole ekranu, bez względu na to jak długo ListView
jest następnie pozbyć się listview.addFooterView(footerView);
i używać RelativeLayout. Give your
ListView` nieruchomości
android:layout_alignParentTop="true"
i podać własności do swojej stopce
android:layout_alignParentBottom="true"
Jeśli to nie rozwiąże problemu, prosimy o bardziej szczegółowe informacje na temat tego, czego oczekujesz i dostarczenie obrazu tego, co chcesz, jeśli to możliwe.
Edit
Po przeczytaniu komentarzy to może działać. Nie może być łatwiejszy sposób, ale można coś zrobić jak
listView.post(new Runnable()
{
public void run()
{
int numItemsVisible = listView.getLastVisiblePosition() -
listView.getFirstVisiblePosition();
if (itemsAdapter.getCount() - 1 > numItemsVisible)
{
// set your footer on the ListView
}
else
{
footerView.setVisibility(View.VISIBLE);
}
}
footerView
byłoby zwyczaj layout
, które można utworzyć z właściwościami I przywołanych powyżej. Powinno to ustawić się na visible
, jeśli elementy nie są większe niż można zmieścić na ekranie. Jeśli są bardziej niż w stanie dopasować, zastosuj widok stopki na ListView
, tak jak teraz. To może nie być najlepszy sposób, ale jest pierwszą rzeczą, która przychodzi do głowy. Uruchomiłbyś ten kod tuż przed ustawieniem Adapter
.
brzmi jak może chcesz, aby stopka do widoku SEPAR z widokiem zakotwiczonym na dole ekranu, a nie jako potomka 'ListView'. W ten sposób widok stopki nie będzie już przewijany poza ekranem, gdy w 'ListView' jest dużo elementów. Zamiast tego zawsze będzie widoczny na dole. –
Tak, już to zrobiłem, ale to nie jest to, czego się spodziewam –