在xml中添加控件的使用:
主题:
这些都没有达到我要的效果:
android:entries // 传入的是values文件夹下的arrayx.xml内的数据
android:spinnerMode //显示模式有popmenu和dialog两种
android:prompt //当显示模式为dialog时生效,作用为显示dialog的标题内容
一、概述Android中的有个原生的下拉列表控件Spinner,但是这个控件有时候不符合我们自己的要求,
比如有时候我们需要类似windows
或者web网页中常见的那种下拉列表控件,类似下图这样的:
这个时候只有自己动手写一个了。其实实现起来不算很难,
本文实现的方案是采用TextView
+ImageView+PopupWindow的组合方案。
先来看看我们的自己写的控件效果图吧:(源码在文章下面最后给出哈!)
二、自定义下拉列表框控件的实现
1.
自定义控件用到的布局文件和资源:
结果框的布局页面:dropdownlist_view.xml:
<?xml
version="1.0"
encoding="utf-8"?>
带时间戳的列表,要求时间悬浮顶部,动态替换顶部时间如下图,如下图,
多布局实现,时间悬浮为一个布局,数据相关内容为一个布局,这里推荐一个 Adapter依赖库BRVAH
根据返回的ItemViewType来加载不同的布局,动态设置时间布局的显示
加载数据时根据时间比较,判断当前数据是头部数据还是普通数据,添加进集合中
注意数据的判断,正确进行头部数据的添加。
将时间转化为xx月xx日的格式
默认情况下,最多只显示四行文本如下
点击之后,展开所有文本
具体实现如下:
设置下拉刷新,下拉加载的布局
具体实现可参考Demo,或者依赖库文档
刷新之后回调
下拉加载,上拉刷新布局如图,具体可运行demo查看
在头部悬浮,结合上拉刷新下拉加载过程中,遇到过上拉加载,导致头部悬浮布局错位,先前采用
SmartRefreshLayout ,由于SmartRefreshLayout上拉加载会将布局向上顶,导致悬浮布局错误,调试无果后,采用 EasyRefreshLayout 。
头部悬浮的上拉加载,下拉刷新的列表主要实现采用 Adapter依赖库BRVAH 及其推荐相关库 EasyRefreshLayout 和 RecyclerView粘性标签库 。其他更多用法,可以自行访问相关库学习。
最后给出 DEMO .
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)