Android系统列表控件_安卓列表控件能做出什么功能(1)

ListView控件以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。如图所示:

列表的显示需要三个元素:

  • 1.ListVeiw:用来展示列表的View。
  • 2.适配器:用来把数据映射到ListView上的中介。Adapter
  • 3.数据:具体的将被映射的字符串,图片,或者基本组件。

根据列表的适配器类型,列表分为三种:ArrayAdapter,SimpleAdapter和SimpleCursorAdapter。

  • ArrayAdapter最为简单,只能展示一行字,基本不用,或极少数时候使用。
  • SimpleAdapter有最好的扩充性,可以自定义出各种效果。
  • SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方面的把数据库的内容以列表的形式展示出来。

在开发过程中,往往继承使用BaseAdapter,自己来实现各种需要实现的效果和数据适配。继承BaseAdapter类后,需要重写如下几个方法:

  • getCount: 一共有多少个item展示项
  • getItem(int position):获取每一个展示项
  • getItemId(int position):获取item的id
  • getView(int position, View convertView, ViewGroup parent):每一个在屏幕内展示的view视图

因为涉及到自定义View视图,因此往往会借助一个自定义的holder类来进行数据的刷新,事件的操作等。

数据更新

当数据源有更新时,需要重新设置适配器中的数据,同时调用适配器中的notifyDataSetChanged方法。

二、GridView

GridView 跟ListView 很类似,ListView 主要以列表形式显示数据,GridView 则是以网格形式显示数据。

GridView主要通过使用自定义BaseAdapter来适配数据,进而显示到GridView中。使用步骤:

  • 1、准备数据源:通常是ArrayList形式。
    list = new ArrayList<Map<String, Object>>();
  • 2、为数据源设置适配器
    MyAdapter adapter = new MyAdapter();
  • 3、设置适配器
    gridView.setAdapter(adapter);

与ListView相似,开发重点在如何自定义实现Adapter,以及如何实现交互。

三、RecyclerView
RecyclerView简介

RecyclerView是support.v7包中的控件,可以说是ListView和GridView的增强升级版。

官方对RecyclerView的描述如中说到:A flexible view for providing a limited window into a large data set。

RecyclerView从2014年发布到现在已经很长时间了,使用已经相当普遍。

LayoutManager

使用上RecyclerView与Listview使用步骤基本相同,不同的是RecyclerView多了一个LayoutManager,翻译为布局管理器。

RecyclerView有三个默认布局管理器,他们分别是:

  • LinearLayoutManager:线性管理器
  • GridLayoutManager:网格管理器
  • StaggeredGridLayoutManager:交错式网格布局

三个布局管理器都支持横向和纵向排列以及反向滑动。如果想把RecyclerView改为横向滑动,也可以通过调用:

mLayoutManager.setOrientation(GridLayoutManager.HORIZONTAL);
监听及点击事件

RecyclerView不像ListView一样提供item的点击监听,开发者需要自己实现,有两种常用的方式:

  • 为item的view设置点击事件
  • 通过recycler.addOnItemTouchListener监听
动画

recyclerview支持为item设置丰富的动画效果,可以通过如下方式设置动画:

recyclerView.setItemAnimator(new DefaultItemAnimator());
四、下拉刷新和上拉加载的原理

架构师筑基包括哪些内容

我花了将近半个月时间将:深入 Java 泛型.、注解深入浅出、并发编程.、数据传输与序列化、Java 虚拟机原理、反射与类加载、高效 IO、Kotlin项目实战等等Android架构师筑基必备技能整合成了一套系统知识笔记PDF,相信看完这份文档,你将会对这些Android架构师筑基必备技能有着更深入、更系统的理解。

由于文档内容过多,为了避免影响到大家的阅读体验,在此只以截图展示部分内容

注:资料与上面思维导图一起看会更容易学习哦!每个点每个细节分支,都有对应的目录内容与知识点!



这份资料就包含了所有Android初级架构师所需的所有知识!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

//bbs.csdn.net/topics/618156601)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 15
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值