[Android Pro] android控件ListView顶部或者底部也显示分割线

Posted atom blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Android Pro] android控件ListView顶部或者底部也显示分割线相关的知识,希望对你有一定的参考价值。

reference to  :  http://blog.csdn.net/lovexieyuan520/article/details/50846569

在默认的Android控件ListView在顶部是不显示分割线的,但是我们可以使用一些技巧来显示。我们先来看下默认情况下ListView显示的效果:
技术分享
可以看到顶部是没有分割线的,但是有时候我们的美工硬是在上面画了一条分割线,没办法,我们也得加上,我们在ListView顶部加上一个Header就可以实现,代码如下

listView.addHeaderView(new ViewStub(this));

加上这么一句代码后就会显示顶部的分割线
技术分享
看到没,我们ListView的顶部加上了分割线,但是要注意,ListView有这么一个属性android:headerDividersEnabled,它的默认值为true,也就是说默认是显示header的分割线的,如果我们将其设置为false则不会显示分割线的。
我们设置了顶部的分割线,下面我们设置下底部的分割线,比设置顶部的分割线要麻烦点。如果我们将ListView的android:layout_height设置为wrap_content则,情况跟顶部加分割线是一样的:

listView.addFooterView(new ViewStub(this));

技术分享
我们看到已经加上底部分割线了,但是要注意android:footerDividersEnabled属性,跟android:headerDividersEnabled是一样的,不再赘述。
如果我们设置ListView的android:layout_height设置为match_parent或者一个具体的值时,则效果如下

技术分享
底部的分割线居然变粗了一半。原来当ListView内容的高度小于ListView的高度,那么ListView就会在最后一个Item加上一个分割线,这个时候两个分割线叠加起来,所以底部的分割线变宽了。
一般来说,我们在使用ListView的时候,我们把android:layout_height设置wrap_content,这样就不会出问题,但是 有时候我们需要把ListView固定在某个高度,超过这个高度就滚动,怎么办呢,这时我们可以在ListView的外部套上一个容器,比如 FrameLayout,ListView的android:layout_height还是设置为wrap_content,当ListView的内容 超过FrameLayout的高度时,就会显示滚动条,又不会在最后一个Item下显示分割线。
大功告成,希望对大家有所裨益!!!

 

以上是关于[Android Pro] android控件ListView顶部或者底部也显示分割线的主要内容,如果未能解决你的问题,请参考以下文章

Android中的consumer-rules.pro和proguard-rules.pro有啥区别?

[Android Pro] Android TypedValue.applyDimension()的用法

[Android Pro] AES加密

[Android Pro] 常用的android工具类和库

Android逆向笔记-IDA Pro动态调试Android程序(真机)

[Android Pro] AAR and JAR