Как отметил @YoniSamlan, это может быть достигнуто простым способом.Вы должны указать
android:layout_height="wrap_content"
в ViewGroup, которая содержит кнопку «Загрузить еще».Не обязательно должен быть FrameLayout, см. Ниже простой пример работы, который использует LinearLayout.
Оба изображения показывают экран, который прокручивается до самого дна.Первый из них имеет видимый нижний колонтитул, который оборачивается вокруг кнопки «загрузить еще».Второе изображение показывает, что нижний колонтитул рухнет, если вы установите видимость кнопки в GONE.
Вы можете снова показать нижний колонтитул (внутри некоторого обратного вызова), изменив видимость:
loadMore.setVisibility(View.VISIBLE); // set to View.GONE to hide it again
Выполните инициализацию listView как обычно
// Find View, set empty View if needed
mListView = (ListView) root.findViewById(R.id.reservations_search_results);
mListView.setEmptyView(root.findViewById(R.id.search_reservations_list_empty));
// Instantiate footerView using a LayoutInflater and add to listView
footerView = ((LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE))
.inflate(R.layout.load_more_footer_view, null, false);
// additionally, find the "load more button" inside the footer view
loadMore = footerView.findViewById(R.id.load_more);
loadMore.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
fetchData();
}
});
// add footer view to the list
mListView.addFooterView(footerView);
// after we're done setting the footerView, we can setAdapter
adapter = new ReservationsArrayAdapter(getActivity(), R.layout.list_item_reservations_search, reservationsList);
mListView.setAdapter(adapter);
load_more_footer_view.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/load_more"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="9dp"
android:gravity="center"
android:layout_gravity="center"
android:background="@drawable/transparent_white_border"
android:textColor="@android:color/white"
android:text="@string/LOAD_MORE"/>