I have a ListView with a footer added with listview.addFooterView(footerView);
All works as expected excepted in one case: when my listview's items doesn't fill the whole screen, I would like the footer to be at the bottom of the screen, instead of being in the middle. Is there a way to do this easily? Or should I change my layout?
Thanks
EDIT: that might help (this is what I want)
If you want it to always be at the bottom of the screen, no matter how long your
ListView
is, then get rid oflistview.addFooterView(footerView);
and use aRelativeLayout. Give your
ListView` the propertyand give the property to your footer
If this doesn't solve your problem then please be a little more specific about what you want and provide a picture of what you want if possible.
Edit
After reading the comments this might work. There might be an easier way but you could do something like
footerView
would be a customlayout
that you would create with the properties I referenced above. This should set that tovisible
if the items aren't more than can fit on the screen. If they are more than can fit then you apply the footer view on theListView
as you are now. This might not be the best way but its the first thing that comes to mind. You would run this code just before you set theAdapter
.In addition to @codeMagic response, you could add a listener to check when your adapter gets updated and then update the footer
where updateSmartFooter is the function he described
You cannot use ListView footer as footer for the whole layout. You're better off with RelativeLayout as root element for your layout, and then a direct child of it containing the footer view with the attribute: android:layout_alignParentBottom="true"
After spent a lot of time to research, I found the best solution for it. Please have a look at: https://stackoverflow.com/a/38890559/6166660 and https://github.com/JohnKuper/recyclerview-sticky-footer
For details:
recyclerListView.addItemDecoration(new StickyFooterItemDecoration());
---------------------------------------