《第一行代码》学习笔记15-UI(4)

本文详细介绍了Android中ListView的工作原理及使用ArrayAdapter进行数据绑定的方法。包括如何通过手指滑动实现数据滚动,如何利用ArrayAdapter将数组数据适配到ListView,并优化ListView性能的技术手段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.ListView允许用户通过手指上下滑动的方式将屏幕外的数据滚动到屏幕内,同时屏幕上原有的数据则会滚动出屏幕。
2.数组中的数据无法直接传递给ListView,得借助适配器来完成。此处使用ArrayAdapter,通过泛型来指定要适配的
数据类型->在构造函数中把要适配的数据传入。
3.ArrayAdapter有多个构造函数的重载,由于提供的数据是字符串,故将ArrayAdapter的泛型指定为String,接着在该构造函数
中依次传入当前上下文,ListView子项布局的id,以及要适配的数据。
4.使用android.R.layout.simple_list_item_1作为ListView 子项布局的id,这是一个Android内置的布局文件,里面只有一个TextView,
可用于简单地显示一段文本。
5.最后,调用ListView的setAdapter()方法,将构建好的适配器对象传递进去,则ListView和数据之间的关联建立完成。
6.getView()方法中有一个convertView参数,该参数用于将之前加载好的布局进行缓存,方便以后重用。
7.为提升ListView的运行效率,在getView()方法中进行判断,(1)如果convertView为空,则使用LayoutInflater去加载布局,(2)
如果不为空,则直接对convertView进行重用。
8.新增一个内部类ViewHolder,用于对控件的实例进行缓存。(1)当convertView为空时,创建了一个ViewHolder对象,将控件的实例
都存放在ViewHolder里->调用View的setTag()方法,将ViewHolder对象存储在View中。(2)当convertView不为空时,调用View的
getTag()方法,把ViewHolder重新取出。如此,所有控件的实例都缓存在ViewHolder里,则没有必要每次都通过findViewById()方法
来获取实例。
9.在布局文件中指定宽高的固定值:px, pt, dp, sp。
(1)px是像素的意思,即屏幕中可以显示的最小元素单元。(2)pt是磅数的意思,1磅等于1/72英寸,一般pt作为字体的单位使用。
###同样200px宽的按钮在不同分辨率的屏幕上显示的效果完全不同,pt的情况和px差不多,这导致这两个单位在手机领域上很难有
作为。
(3)dp是密度无关像素的意思,被称作dip,和px相比,在不同密度的屏幕中显示比例一致。(4)sp可伸缩像素,采用了和dp同样的
设计理念,解决文字大小的适配问题。
10.Android中的密度即屏幕每英寸所包含的像素数,常以dpi为单位。eg.如一个手机屏幕的宽是2英寸长是3英寸,若分辨率是320*480
像素,则密度就为160dpi。密度值越高的屏幕显示的效果就越精细。
11.总结:编写Android程序时,尽量将控件或布局的大小指定成match_parent或wrap_content,若必须指定一个固定值,则使用dp来
作为单位,指定文字大小的时候使用sp作为单位。

转载于:https://www.cnblogs.com/Iamasoldier6/p/5011725.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值