[android]控件ListView简介

ListView---列表

以垂直的方式排列其内部item

ListView中的item可以被定义成各种复杂的界面

一般用于数据集的展示


列表显示需要的三要素

ListView---用来展示列表的view

适配器---用来把数据映射到ListView上

数据---具体的将被映射的字符串、图片、基本控件等


需要用适配器的原因:

ListView是AdapterView的间接子类,而AdapterView重写addView()方法时,禁用了该方法的使用

AdapterView使用Adapter接口,为自己提供绑定有数据的item界面

所以此处使用适配器模式:

  源:各种需要在ListView显示的数据集

  目标接口:Adapter接口

  适配器:将各种不同的数据集转换为统一的输出接口(Adapter接口)

                   适配器实现步骤:实现Adapter接口  包含源对象




自定义ListView背景:

在Android中,ListView是最常用的一个控件,在做UI设计的时候,很多人希望能够改变一下它的背景,使他能够符合整体的UI设计,改变背景背很简单只需要准备一张图片然后指定属性 android:background="@drawable/bg" ,不过不要高兴地太早,当你这么做以后,发现背景是变了,但是当你拖动,或者点击list空白位置的时候发现ListItem都变成黑色的了,破坏了整体效果,如下图所示

                        
 
这是为什么呢?
这个要从Listview的效果说起,默认的ListItem背景是透明的,而ListView的背景是固定不变的,所以在滚动条滚动的过程中如果实时地去将当前每个Item的显示内容跟背景进行混合运算,所以android系统为了优化这个过程用,就使用了一个叫做android:cacheColorHint 的属性,在黑色主题下默认的颜色值是#191919,所以就出现了刚才的画面,有一半是黑色的

那怎么办呢?
如果你只是换背景的颜色的话,可以直接指定android:cacheColorHint 为你所要的颜色,如果你是用图片做背景的话,那也只要将android:cacheColorHint 指定为透明(#00000000)就可以了,当然为了美化是要牺牲一些效率的。最后美化的效果如图:


                                       

 
转载出处 http://haric.iteye.com 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值