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顶部或者底部也显示分割线的更多相关文章

  1. Android 的重要控件 ListView (听说是最难最常用的控件)

    这个打字有点慢了,左手受伤了,不过很幸运,左手小拇指没事(这就可以愉快地使用快捷键啦!),虽然有伤,但还是得坚持总结,不只是为自己,还为未来的你们铺路,希望我写的,对你们有帮助. 提前给自己一个祝福: ...

  2. 【风马一族_Android】第4章Android常用基本控件

    第4章Android常用基本控件 控件是Android用户界面中的一个个组成元素,在介绍它们之前,读者必须了解所有控件的父类View(视图),它好比一个盛放控件的容器. 4.1View类概述 对于一个 ...

  3. 【Android】12.0 UI开发(三)——列表控件ListView的简单实现2

    1.0 由于书上内容,已经和实际编程的兼容性已经不太友好,重写了项目,用于进一步学习列表控件ListView. 2.0 新建项目ListViewTest,其中文件目录如下: 3.0 ActivityC ...

  4. Android基础控件ListView基础操作

    1.简介 基于Android基础控件ListView和自定义BaseAdapter适配器情况下,对ListView的数据删除和添加操作: public boolean add(E e) {//添加数据 ...

  5. Android 中常见控件的介绍和使用

    1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.la ...

  6. 【转】Android M新控件之AppBarLayout,NavigationView,CoordinatorLayout,CollapsingToolbarLayout的使用

    Android M新控件之AppBarLayout,NavigationView,CoordinatorLayout,CollapsingToolbarLayout的使用 分类: Android UI ...

  7. [转 载] android 谷歌 新控件(约束控件 )ConstraintLayout 扁平化布局

    序 在Google IO大会中不仅仅带来了Android Studio 2.2预览版,同时带给我们一个依赖约束的库. 简单来说,她是相对布局的升级版本,但是区别与相对布局更加强调约束.何为约束,即控件 ...

  8. 五、Android学习第四天补充——Android的常用控件(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 五.Android学习第四天补充——Android的常用控件 熟悉常用的A ...

  9. 注意Android里TextView控件的一个小坑,用android:theme来设置样式时动态载入的layout会丢失该样式

    注意Android里TextView控件的一个小坑,用android:theme来设置样式时动态载入的layout会丢失该样式 这个坑,必须要注意呀, 比如在用ListView的时候,如果在List_ ...

随机推荐

  1. IT职场人的“存在主义”

      人生在世,最重要的一条就是:找准你的位置.也就是,你的定位问题. 就在前两天,参加一次社交活动,一知名培训师回顾过往,感慨地说:一个好的培训师,一定要定位好自己的客户群,根据他们的需求做好自己的定 ...

  2. Visual Studio 2015 Pre Secondary Installer 在哪里

    安装vs2015 pre后,会自动打开Secondary Installer, 用于Cross Platform的移动开发框架,包括Cordova插件.若安装失败,启动程序位置: "D:\P ...

  3. 为什么 "auto a = 1;" 在C语言中可以编译通过?

    参照:这里 这让我想起之前看的一部书, int i; 其实是等价与 auto int i; 表示为局部变量 这应该与static是相对的吧?

  4. NB實體連線到公司的網路,無法上網解決方案,需設 proxy。

    未使用 VPN Cisco Anyconnect 已連線到公司的網路: google-chrome-stable --proxy-server="proxy.XXXcomm.com:3128 ...

  5. bzoj2064[和谐社会模拟赛]分裂

    题意:给定一个初始集合和目标集合,有两种操作:1.合并集合中的两个元素,新元素为两个元素之和 2.分裂集合中的一个元素,得到的两个新元素之和等于原先的元素.要求用最小步数使初始集合变为目标集合,求最小 ...

  6. Java内存模型深度解读

    Java内存模型规范了Java虚拟机与计算机内存是如何协同工作的.Java虚拟机是一个完整的计算机的一个模型,因此这个模型自然也包含一个内存模型——又称为Java内存模型. 如果你想设计表现良好的并发 ...

  7. HDU 5167(map + 暴力)

    题意:给出一个数n,问n能否是斐波那契数列中数的乘积 先刷选 斐波那契数列,然后就枚举 #include <cstdio> #include <cstring> #includ ...

  8. Linux(Centos6.5)用户名密码

    用户列表文件:/etc/passwd用户组列表文件:/etc/group 查看系统中有哪些用户:cut -d : -f 1 /etc/passwd查看可以登录系统的用户:cat /etc/passwd ...

  9. thinkphp 后台权限列表

    核心代码: // 检测用户权限权限 public function admin_priv($action){ $action_list = session('user.action_list'); i ...

  10. Nginx 301重定向设置

    server { server_name www.***.com ***.com; if ($host != 'www.***.com' ) { rewrite ^/(.*)$ http://www. ...