最近的项目中给ListView 加入了一个Header View之后,发现Header View的下方也有了分割线,很难看,UI要求将Header View的分割器去掉,好吧。现在就来说一说如何如何去除ListView中Header View中的分割线。

Header View中带分割线

Header View中不带分割线

Header View中要去掉的分割线

方法1

ListView的部分布局代码如下所示

<ListView
android:id="@+id/ll_channel_list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@color/color_list_divider"
android:dividerHeight="1px" />

先调用ListView的addHeaderView(View v, Object data, boolean isSelectable)方法添加Header View,注意第三个参数 isSelectable 必须为true,否则无效

然后调用ListView的setHeaderDividersEnabled(boolean headerDividersEnabled)方法设置Header View不显示分割线,代码如下所示:

    listView.addHeaderView(mHeader, null, true);
//禁止头部出现分割线
listView.setHeaderDividersEnabled(false);

顺便说一下:如果要去除ListView中Footer View中的分割线,也是类似的方法

先调用ListView的addFooterView(View v, Object data, boolean isSelectable)方法添加Footer View,注意第三个参数 isSelectable 必须为true,否则无效

然后调用ListView的setFooterDividersEnabled(boolean footerDividersEnabled)方法设置Footer View不显示分割线,代码如下所示:

 listView.addFooterView(mFooter, null, true);
//禁止底部出现分割线
listView.setFooterDividersEnabled(false);

方法2

在ListView的布局文件中不设置分割线,如下所示:

<ListView
android:id="@+id/ll_channel_list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null" />

然后在item布局文件中加入一个view作为分割线,代码类似于如下所示:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"> <RelativeLayout
android:id="@+id/rl_item_program"
android:layout_width="match_parent"
android:layout_height="116dp"
android:background="@drawable/bg_item_program_selector"
android:orientation="horizontal"> <ImageView
android:id="@+id/iv_program_play_ico"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:gravity="center"
android:src="@drawable/playing_anim"
/> <TextView
android:id="@+id/tv_program_name"
android:layout_width="wrap_content"
android:layout_height="116dp"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/iv_program_play_ico"
android:ellipsize="end"
android:gravity="center_vertical"
android:lineSpacingExtra="12dp"
android:maxLines="2"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:text="abcdefghijklmnabcdefghijklmnabcdefghijklmn"
android:textColor="@color/white"
android:textSize="32dp"/>
</RelativeLayout> <!--添加分割线-->
<View
android:layout_width="fill_parent"
android:layout_height="1px"
android:layout_below="@id/rl_item_program"
android:background="@color/color_list_divider"/>
</RelativeLayout>

这样ListView就不会有分割线了,只是在内容区域有分割线,Header View和Footer View就不会再出现分割线。


作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!

转载请保留原文地址:http://blog.csdn.net/ouyang_peng/article/details/52749732

【我的Android进阶之旅】如何去除ListView中Header View、Footer View中的分割线的更多相关文章

  1. 我的Android进阶之旅------>如何为ListView组件加上快速滑块以及修改快速滑块图像

    使用布局文件需要将android:fastScrollEnabled="true" ,如下代码所示: <ListView android:id="@+id/list ...

  2. [置顶] 我的Android进阶之旅------>介绍一款集录制与剪辑为一体的屏幕GIF 动画制作工具 GifCam

    由于上一篇文章:我的Android进阶之旅------>Android之动画之Frame Animation实例 中展示的是Frame动画效果,但是之前我是将图片截取下来,不好说明确切的动画过程 ...

  3. 我的Android进阶之旅------&gt; Android在TextView中显示图片方法

    面试题:请说出Android SDK支持哪些方式显示富文本信息(不同颜色.大小.并包括图像的文本信息).并简要说明实现方法. 答案:Android SDK支持例如以下显示富文本信息的方式. 1.使用T ...

  4. 【我的Android进阶之旅】推荐一款视频转换GIF图片格式的转换工具(Video to GIF)

    一.背景 最近想把一些Android Demo的运行效果图获取下来,但是一直使用真机进行调试,在电脑上不好截取一段gif动画.而之前使用模拟器的时候可以使用 GifCam 工具进行屏幕动画截取.Gif ...

  5. 我的Android进阶之旅------&gt;Android字符串资源中的单引號问题error: Apostrophe not preceded by 的解决的方法

    刚刚在string字符串资源文件里,写了一个单引號.报错了,错误代码例如以下 error: Apostrophe not preceded by \ (in OuyangPeng's blog ) 资 ...

  6. 我的Android进阶之旅------>Android颜色值(#AARRGGBB)透明度百分比和十六进制对应关系以及计算方法

    我的Android进阶之旅-->Android颜色值(RGB)所支持的四种常见形式 透明度百分比和十六进制对应关系表格 透明度 十六进制 100% FF 99% FC 98% FA 97% F7 ...

  7. 我的Android进阶之旅------>解决Jackson等第三方转换Json的开发包在开启混淆后转换的实体类数据都是null的bug

    1.错误描述 今天测试人员提了一个bug,说使用我们的app出现了闪退的bug,后来通过debug断点调试,发现我们的app转换服务器发送过来的json数据后,都是为null.而之前已经提测快一个月的 ...

  8. 我的Android进阶之旅------>关于android:layout_weight属性的详细解析

    关于androidlayout_weight属性的详细解析 效果一 效果二 图3的布局代码 图4的布局代码 效果三 图7代码 图8代码 效果四 效果五 版权声明:本文为[欧阳鹏]原创文章,欢迎转载,转 ...

  9. 我的Android进阶之旅------>如何解决Android 5.0中出现的警告: Service Intent must be explicit:

    我的Android进阶之旅-->如何解决Android 5.0中出现的警告: java.lang.IllegalArgumentException: Service Intent must be ...

  10. 我的Android进阶之旅------>Java字符串格式化方法String.format()格式化float型时小数点变成逗号问题

    今天接到一个波兰的客户说有个APP在英文状态下一切运行正常,但是当系统语言切换到波兰语言的时候,程序奔溃了.好吧,又是我来维护. 好吧,先把系统语言切换到波兰语,切换到波兰语的方法查看文章 我的And ...

随机推荐

  1. EM5-PE6B

    1. vocabulay 1.1 scary adj.令人恐怖的 This is a scary thing. you can construct some extremely scary scena ...

  2. C/C++之文件打开方式差别

    一.引言 在上一篇中,需要获取文件的大小,但是获取的文件大小与从文件中读取的数据大小总是对不上(10行数据,文件大小是129,但是读取数据是119),因此,实现的服务器总是出现这个错误:net::ER ...

  3. linux之grub的使用

    一.引言 昨天在家里在自己的电脑上安装CentOS7,一切都顺利,结果安装好重启,无法进入win7了,在grub的配置文件也添加了win7的条目,却提示 unkown command chainloa ...

  4. O(1)取Queue中的最大值

    实现原理: 1.利用Stack的先进后出的特性,实现一个MaxStack,MaxStack中用一个Stack记录当前的值,一个Stack记录当前的最大值. 2.用2个MaxStack实现MaxQueu ...

  5. 使用java语言如何更好的使用多线程?

    ① 高并发.任务执行时间短的业务,线程池线程数可以设置为CPU核数+1,减少线程上下文的切换. ② 并发不高.任务执行时间长的业务要区分开看: 假如是业务时间长集中在I/O操作上,也就是I/O密集型的 ...

  6. IOS7.1-7.1.1越狱后无法读取越狱文件的解决办法

    IOS7.1-7.1.1越狱后无法读取越狱文件的解决办法 申明:      下面安装PP源的方法已经失效,请不用按照下面的方法操作.      更新最新的方法,在cydia中搜索源 apple fil ...

  7. Hadoop项目实战

    这个项目是流量经营项目,通过Hadoop的离线数据项目. 运营商通过HTTP日志,分析用户的上网行为数据,进行行为轨迹的增强. HTTP数据格式为: 流程: 系统架构: 技术选型: 这里只针对其中的一 ...

  8. JVM性能调优监控工具专题一:JVM自带性能调优工具(jps,jstack,jmap,jhat,jstat,hprof)

    性能分析工具jstatjmapjhatjstack 前提概要:         JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps.jsta ...

  9. 第二百一十九节,jQuery EasyUI,DateTimeBox(日期时间输入框)组件

    jQuery EasyUI,DateTimeBox(日期时间输入框)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 DateTimeBox(日期时间输入框 ...

  10. HSV和HSI区别

    HSV (色相hue, 饱和度saturation, 明度value), 也称HSB (B指brightness) 是艺术家们常用的,因为与加法减法混色的术语相比,使用色相,饱和度等概念描述色彩更自然 ...