包含androidsmartrefreshlayout的词条
本篇文章给大家谈谈androidsmartrefreshlayout,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Android开发之头部悬浮的上拉加载,下拉刷新的列表
- 2、android smartrefreshlayout刷新中怎么添加自定义的界面
- 3、Android 控件smartRefeshLayout只要下拉刷新,禁止上拉加载
Android开发之头部悬浮的上拉加载,下拉刷新的列表
带时间戳的列表,要求时间悬浮顶部,动态替换顶部时间如下图,如下图,
多布局实现,时间悬浮为一个布局,数据相关内容为一个布局,这里推荐一个 Adapter依赖库BRVAH
根据返回的ItemViewType来加载不同的布局,动态设置时间布局的显示
加载数据时根据时间比较,判断当前数据是头部数据还是普通数据,添加进集合中
注意数据的判断,正确进行头部数据的添加。
将时间转化为xx月xx日的格式
默认情况下,最多只显示四行文本如下
点击之后,展开所有文本
具体实现如下:
设置下拉刷新,下拉加载的布局
具体实现可参考Demo,或者依赖库文档
刷新之后回调
下拉加载,上拉刷新布局如裤亮图,具体可运行demo查看
在头部悬浮,结合上拉刷新下拉加载过程中,遇到过上拉加载,导致头部悬浮布局错位,先前采用
SmartRefreshLayout ,由于SmartRefreshLayout上拉加载会将布局向上顶,导致悬浮布局错误,调试无果后,采用 EasyRefreshLayout 。
头部悬浮的上拉加载,下拉伍纯搭刷腔拿新的列表主要实现采用 Adapter依赖库BRVAH 及其推荐相关库 EasyRefreshLayout 和 RecyclerView粘性标签库 。其他更多用法,可以自行访问相关库学习。
最后给出 DEMO .
android smartrefreshlayout刷新中怎么添加自定义的界面
一般的消息列表为ListView类型,将list加载到adapter中,再将旁滑adapter加载到ListView中,从而雹亏实现消息列表的展示。而下拉刷新要求给消息列表加一个头部,其中有图片(向上/向下箭头)和提示字样(下拉刷新/松开刷新)源启神
[img]Android 控件smartRefeshLayout只要下拉刷新,禁止上拉加载
一.导入依赖
在app-module中添加RecycleView和SmartRefreshLayout的依赖
//recyclerview implementation 'com.android.support:recyclerview-v7:26.1.0' implementation 'com.android.support:design:26.1.0' //SmartRefreshLayout implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.4-7' implementation 'com.scwang.smartrefresh:SmartRefreshHeader:1.0.4-7'旅乎顷
二.在mainActivity中添加xml布局
?xml version="1.0" encoding="utf-8"?LinearLayout xmlns:android=""xmlns:app=""xmlns:tools=""android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.freshdemo.MainActivity"android:orientation="vertical"com.scwang.smartrefresh.layout.SmartRefreshLayoutandroid:id="@+id/refreshLayout"android:layout_width="match_parent"android:layout_height="match_parent"app:srlAccentColor="#00000000"app:srlPrimaryColor="#00000000"app:srlEnablePreviewInEditMode="true"android.support.v7.widget.RecyclerViewandroid:id="@+id/rv"android:layout_width="match_parent"android:layout_height="match_parent"//com.scwang.smartrefresh.layout.SmartRefreshLayout/LinearLayout
这是SmartRefreshLayout的基本布局,其中:
app:srlAccentColor="#00000000"//设置Header主题颜色 app:srlPrimaryColor="#00000000"//设拆陆置Footer主题颜色 app:srlEnablePreviewInEditMode="true"//开启和关闭预览功能
三.MainActivity中初始化和刷新加载事件
private RecyclerView mRecyclerView; private RefreshLayout mRefreshLayout; //初始化 mRecyclerView=findViewById(R.id.rv); mRefreshLayout = findViewById(R.id.refreshLayout); //刷新顷团 mRefreshLayout.setOnRefreshListener(new OnRefreshListener() { @Override public void onRefresh(RefreshLayout refreshlayout) { mData.clear(); mNameAdapter.notifyDataSetChanged(); refreshlayout.finishRefresh(); } }); //加载更多 mRefreshLayout.setOnLoadmoreListener(new OnLoadmoreListener() { @Override public void onLoadmore(RefreshLayout refreshlayout) { for(int i=0;i30;i++){ mData.add("小明"+i); } mNameAdapter.notifyDataSetChanged(); refreshlayout.finishLoadmore(); } });
四.运行效果
SmartRefreshLayout运行的默认效果如下
1.gif
五.SmartRefreshLayout的其他的刷新样式
#######5.1经典样式ClassicsFooter
只需要在布局中添加对应的header和footer,则activity_main.xml代码如下:
?xml version="1.0" encoding="utf-8"?LinearLayout xmlns:android=""xmlns:app=""xmlns:tools=""android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.freshdemo.MainActivity"android:orientation="vertical"com.scwang.smartrefresh.layout.SmartRefreshLayoutandroid:id="@+id/refreshLayout"android:layout_width="match_parent"android:layout_height="match_parent"app:srlAccentColor="#00000000"app:srlPrimaryColor="#00000000"app:srlEnablePreviewInEditMode="true"com.scwang.smartrefresh.layout.header.ClassicsHeaderandroid:layout_width="match_parent"android:layout_height="wrap_content"/android.support.v7.widget.RecyclerViewandroid:id="@+id/rv"android:layout_width="match_parent"android:layout_height="match_parent"/com.scwang.smartrefresh.layout.footer.ClassicsFooterandroid:layout_width="match_parent"android:layout_height="wrap_content"//com.scwang.smartrefresh.layout.SmartRefreshLayout/LinearLayout
运行效果如下图:
2.gif
5.2一个绚丽的PhoenixHeader展示
修改后activity_main.xml代码如下:
?xml version="1.0" encoding="utf-8"?LinearLayout xmlns:android=""xmlns:app=""xmlns:tools=""android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.freshdemo.MainActivity"android:orientation="vertical"com.scwang.smartrefresh.layout.SmartRefreshLayoutandroid:id="@+id/refreshLayout"android:layout_width="match_parent"android:layout_height="match_parent"app:srlAccentColor="#00000000"app:srlPrimaryColor="#00000000"app:srlEnablePreviewInEditMode="true"com.scwang.smartrefresh.header.PhoenixHeaderandroid:layout_width="match_parent"android:layout_height="wrap_content"/android.support.v7.widget.RecyclerViewandroid:id="@+id/rv"android:layout_width="match_parent"android:layout_height="match_parent"/com.scwang.smartrefresh.layout.footer.BallPulseFooterandroid:layout_width="match_parent"android:layout_height="wrap_content"//com.scwang.smartrefresh.layout.SmartRefreshLayout/LinearLayout
运行效果图:
3.gif
5.3header,footer各样式类所引入包路径如下
SmartRefreshLayout可以引入好几种Header和Footer样式,其中footer固定样式有三种,在refresh-layout包下:
image.png
包路径分别为:
com.scwang.smartrefresh.layout.footer.BallPulseFootercom.scwang.smartrefresh.layout.footer.ClassicsFootercom.scwang.smartrefresh.layout.footer.FalsifyFooter
header样式则很多,在refresh-layout包下有:
image.png
包路径分别为:
com.scwang.smartrefresh.layout.header.BezierRadarHeadercom.scwang.smartrefresh.layout.header.ClassicsHeadercom.scwang.smartrefresh.layout.header.FalsifyHeader
在refresh-header包下有以下样式:
image.png
他们的包路径是:
com.scwang.smartrefresh.header.BezierCircleHeadercom.scwang.smartrefresh.header.DeliveryHeader//以下类似,在此省略//......
六.自定义Header和Footer
当然SmartRefreshLayout还支持自定义Header和Footer
具体可以参考官网中的自定义Header
SmartRefreshLayout关于属性这一块也是有很多可以设置的,大家依然可以去SmartRefreshLayout官网查看更多使用细则,这里就不展开讲解了
今天就讲到这里了,谢谢大家。
关于androidsmartrefreshlayout和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。