在工作中遇到了一个难题,就是一个listView在最下面的一个item下面没有分割线,要求是必须得有这条分割线。经过一通研究发现了这个奇怪的现象:
1. ListActivity有这条底部分割线。
2.在Activity中只有listview,没有别的控件的话也会有。
其实ListActivity也是一个Activity,只不过在其中使用了SetContentView(listView)方法设置了一个listView作为其显示的View而已。所以结论就是只要这个activity调用了SetContentView(listView)就会有这条底部分割线。
那么什么情况下才不会有这条分割线呢?在Activity中如果调用setContentView(View)而ListView只是内嵌入到这个View的话有可能会没有这条分割线。
分析其原因:通过加断点调试发现在listView中,所有的分割线都是通过画一个很窄的矩形来实现的,但是在画分割线前都会都会判断目前的位置A和listView的长度B,如果A=B了,那么就不会画这条分割线了。但是将Listview嵌入到一个View中,一般会设置为高度为wrap_content,这种情况下,最后那条分割线的位置刚好等于listView的高度,所以系统不会画上这条分割线。那要怎么样才会画上呢?很简单,将ListView的高度设置为fill_partent就可以了。
当然以上所说的都是item很少的情况下,如果item很多以至于必须显示滚动条的话,那最后一个item下面是肯定不会有分割线了。
转自:http://blog.chinaunix.net/space.php?uid=20771867&do=blog&id=2915442
分享到:
相关推荐
ListView底部加载更多demo,实现数据的分页加载小demo,适合初学者下载学习
Android 自定义ListView 底部View自动消失和隐藏,实现
一个添加ListView分隔符的小例子,学习用
ListView底部item飞入动画效果,详情见博客:http://blog.csdn.net/qibin0506/article/details/48434823
Android ListView仿微信关于界面分隔线布局,需要用到mockable-android-23.jar,下载后请放在build\generated目录下。 本源码是一个安卓制作的微信界面UI编程设计的范例,属于Android界面编程的范畴,不涉及微信的...
listview实现分页加载的简单模板,即下拉到底部实现footer,然后加载数据
Android 实现ListView滚动到底部自动加载数据
ListView滑动至底部 加载更多出现 ListView显示新加载数据
默认的listview不带表格线,这个实现的已经算是完美的了
关于ListView的添加头部和底部的两种方式,和添加头部或底部之后的position的改变导致点击错位的结局办法
这个demo是有listview实现的,里面又ProgressBar提示正在加载的效果,还有listview显示列表数据,当道最地下面的时候,向上滑动页面,会有加载更多的功能及效果,实现分页的另一种效果
基于ListView实现头部、底部视差效果
listview首先加载一定的数据 点击底部更多或者向上滑动都可加载更多数据 以达到分页效果
android控件运用,listview的底部监听方法
android 自绘listview 上拉刷新,滑动底部自动增加更多
ListView的数据滑动到底部时,会自动加载获取数据,然后把加载近来的新数据加载进ListView中。
修改的别人的代码,加上了到底部自动加载功能
listview实现表格效果,表格线,带假数据,直接可以使用!
ListView拖动到底部刷新的效果,有需要有朋友可以下载参考参考。
Android 自定义ListView实现底部分页刷新与顶部下拉刷新 一.ListView 底部分页加载 整个底部分页加载,主要分一下几步: 1.加载底部自定义View; 2.响应OnScrollListener监听事件,onScroll方法记录最后可见的View ...