写过Android ListView加载更多功能的朋友可能都知道,我们经常会写一个footView,
通过设置ListView的addFootView方法增加尾布局,在列表滑动到底部的时候,触发footViw显示,
当没有更多数据的时候,会把footView隐藏。
但是在设置footView为gone时,虽然内容隐藏了,但是这块布局还在占着,像是设置成inVisible一样,我总结网上的解决方法,
有两种一般性解决方案:
1、设置padding
需要隐藏的时候调用1
2this.footerLayout.setVisibility(View.GONE);
this.footerLayout.setPadding(0, -footerLayout.getHeight(), 0, 0);
需要显示的时候,再把pading设回来1
2this.footerLayout.setVisibility(View.GONE);
this.footerLayout.setPadding(0, -footerLayout.getHeight(), 0, 0);
2、套父布局
套父布局思路:
- 1、用inflate方法得到布局对应的footerView
- 2、创建一个ViewGroup为rootFootView
- 3、rootFootView add footerView
- 4、ListView设置addFootView(rootFootView)
- 5、直接调用footView的setVisibility方法为gone或者visible即可
1 | //设置footView |