[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下显示分割线。
大功告成,希望对大家有所裨益!!!

时间: 2024-08-03 11:11:45

[Android Pro] android控件ListView顶部或者底部也显示分割线的相关文章

Android的重要控件ListView的诸多问题处理方案

知识概要 ListView是android中常用控件之一,当ListView和CheckBox.Button等控件一起用时,会出现很多问题,如ListView条目不可选,ListView内存溢出.全选与反选等. 1. 内容 利用ListView创建一个菜单 创建一个Fruit类 public class Fruit { private String name; private int img; public Fruit(String name, int img) { this.name = na

Android 结合滑动控件ListView滑动删除

一转眼就15年了,希望大家15年升职加薪走上人生巅峰 这篇博客是结合上一篇ListView滑动删除之Viewgroup打造滑动控件(修正版)博客所完成的,先上个效果图吧. 其实实现起来并不复杂 1,解决滑动冲突 因为我们的自定义滑动控件和ListView本身的滑动事件会产生各种冲突,所以我们可以自定义ListView并重写onInterceptTouchEvent方法. 我们先来了解一下android事件的分发,当用户触摸屏幕时会先去调用ViewGroup的dispatchTouchEvent方

【android】让listview的顶部或者底部也显示分割线

xml文件: <ListView android:id="@+id/listview" android:layout_width="match_parent" android:layout_height="match_parent" android:cacheColorHint="#00000000" android:divider="@drawable/listview_devider"> &

安卓Android控件ListView获取item中EditText值

可以明确,现在没有直接方法可以获得ListView中每一行EditText的值. 解决方案:重写BaseAdapter,然后自行获取ListView中每行输入的EditText值. 大概算法:重写BaseAdapter.getView函数,用一个数组存储EditText中的值,根据position即数组下标,在getView中动态更新EditText和动态获取EditText中的值.因为ListView中的item是复用的,如果不动态清空或动态获取EditText中值,就会出现数据紊乱,或者没数

Android控件ListView获取item中EditText值

可以明确,现在没有直接方法可以获得ListView中每一行EditText的值. 解决方案:重写BaseAdapter,然后自行获取ListView中每行输入的EditText值. 大概算法:重写BaseAdapter.getView函数,用一个数组存储EditText中的值,根据position即数组下标,在getView中动态更新EditText和动态获取EditText中的值.因为ListView中的item是复用的,如果不动态清空或动态获取EditText中值,就会出现数据紊乱,或者没数

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

1.0 由于书上内容,已经和实际编程的兼容性已经不太友好,重写了项目,用于进一步学习列表控件ListView. 2.0 新建项目ListViewTest,其中文件目录如下: 3.0 ActivityCollector.java package com.example.listviewtest; import android.app.Activity; import java.util.ArrayList; import java.util.List; public class ActivityC

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

1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.lang.Object   ? android.view.View   ? android.widget.TextView 直接子类: Button, CheckedTextView, Chronometer, DigitalClock, EditText 间接子类: AutoCompleteTextV

Android M新控件之AppBarLayout,NavigationView,CoordinatorLayout,CollapsingToolbarLayout的使用

[转载请注明出处:http://blog.csdn.net/feiduclear_up/article/details/46514791 CSDN 废墟的树] 上一篇博客我们学习了Android Design Support Library库中的 是个简单的组件,不了解的童鞋可以参考之前的博客 Android M新控件之FloatingActionButton,TextInputLayout,Snackbar,TabLayout的使用. 这篇博客我们继续学习Design库中的其他四个组件,分别是

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

Android M新控件之AppBarLayout,NavigationView,CoordinatorLayout,CollapsingToolbarLayout的使用 分类: Android UI2015-06-17 19:46 1498人阅读 评论(7) 收藏 举报 supportandroidlibrary控件design 目录(?)[-] AppBarLayout CoordinatorLayout CollapsingToolbarLayout NavigationView [转载请