@YoniSamlan l'a souligné, il peut être réalisé de manière simple. Vous devez spécifier
android:layout_height="wrap_content"
dans le ViewGroup qui contient le "Charger Plus" bouton. N'a pas à être FrameLayout, voir ci-dessous pour un simple travail - exemple qui utilise un LinearLayout.
Les deux images montrent un écran qui défile tout le chemin vers le bas. La première a une visible de pied qui s'enroule autour de la "charger plus" bouton. Deuxième images montre que le pied de page s'effondre si vous réglez le bouton de la visibilité à DISPARU.
Vous pouvez afficher à nouveau le pied de page (à l'intérieur de certaines de rappel) par modification de la visibilité:
loadMore.setVisibility(View.VISIBLE); // set to View.GONE to hide it again
Effectuer listView d'initialisation comme d'habitude
// 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"/>