Kotlin使用EasyRecycleview
来源:互联网 发布:信广立诚贷之家数据 编辑:程序博客网 时间:2024/06/03 03:25
最近在github上发现一个很好用的基于RecyclerView写的第三方控件,叫做EasyRecycleview,这个控件使用起来很方便,功能也挺强大的,就想着用Kotlin来使用一下它
1.引入
//引入第三方核心控件compile 'com.jude:easyrecyclerview:4.4.2'// 悬浮控件compile 'com.github.clans:fab:1.6.0'
2.使用
因为它的demo中有好几种使用方式,这里选取几种写了一下
(一)带下拉刷新上拉加载更多 功能的界面
控件的声明:
private var mRecyclerView: EasyRecyclerView? = null private var mGoTop: FloatingActionButton? = null//悬浮控件 //在oncreate方法内 mRecyclerView = findViewById<EasyRecyclerView>(R.id.recyclerView) mGoTop = findViewById<FloatingActionButton>(R.id.btn_toTop)
接下来是对EasyRecyclerView进行一些初始化
//模式为线性布局 val layoutManager: LinearLayoutManager = LinearLayoutManager(this) mRecyclerView !!.setLayoutManager(layoutManager) //分割线 val dividerDecoration: DividerDecoration = DividerDecoration(Color.GRAY, Util.dip2px(this, 16f), Util.dip2px(this, 72f), 0) dividerDecoration.setDrawLastItem(false) mRecyclerView !!.addItemDecoration(dividerDecoration) //类似于java的匿名内部类,需要用到object关键字 mAdapter = object : RecyclerArrayAdapter<Person>(this) { override fun OnCreateViewHolder(parent: ViewGroup, viewType: Int): BaseViewHolder<*> { return PersonViewHolder(parent) } } mRecyclerView!!.setAdapterWithProgress(mAdapter) //设置底部加载更多布局 mAdapter!!.setMore(R.layout.view_more,this) //设置底部没有更多布局 mAdapter!!.setNoMore(R.layout.view_nomore) //长按删除 mAdapter!!.setOnItemLongClickListener { position -> mAdapter!!.remove(position) true } //设置无网络布局 mAdapter!!.setError(R.layout.view_error, object : RecyclerArrayAdapter.OnErrorListener { override fun onErrorShow() { mAdapter!!.resumeMore() } override fun onErrorClick() { mAdapter!!.resumeMore() } }) //设置刷新监听 mRecyclerView!!.setRefreshListener(this) onRefresh()
其中刷新的方法是:
override fun onRefresh() { page = 0 mHander.postDelayed(Runnable { mAdapter!!.clear() if (!hasNetWork){ mAdapter!!.pauseMore() return@Runnable } mAdapter!!.addAll(DataProvider.getPersonList(page)) page = 1 },2000) }
加载更多的方法是:
override fun onLoadMore() { mHander.postDelayed(Runnable { if (!hasNetWork) { mAdapter!!.pauseMore() return@Runnable } mAdapter!!.addAll(DataProvider.getPersonList(page)) page++ }, 2000) }
最后界面是这样的:
其他:目前还用Kotlin写了使用了协调者布局(CollapsingToolbarLayout)界面和数据的多布局类型界面
具体的代码在:https://github.com/ckwcc/UserEasyRecyclerView中
阅读全文
0 0
- Kotlin使用EasyRecycleview
- EasyRecycleView的使用方法
- Kotlin使用
- 使用kotlin
- 使用Kotlin Tools 快速添加Kotlin依赖
- Kotlin:Google让我们使用Kotlin的理由
- kotlin学习day9: 为什么要使用kotlin
- 使用Kotlin开发Android
- 使用Kotlin开发Android
- Kotlin使用(一)
- Kotlin的使用记录
- Kotlin使用简介
- Kotlin简单使用
- Kotlin基本使用二
- Kotlin基本使用三
- Kotlin使用(一)
- Kotlin初步使用
- Kotlin基本使用-继承
- 剑指offer第32题(把数组排成最小的数)
- Shell脚本常用参数
- java两年开发工作经验面试总结
- 线性表之离散存储(链表)
- Android多点触控技术
- Kotlin使用EasyRecycleview
- 陀螺仪初探
- Android解析编译之后的所有文件(so,dex,xml,arsc)格式
- javascript:void(0)
- 软件测试_单元测试
- VS2013 64位 32位|Microsoft Visual Studio Ultimate 2013(简体中文旗舰版)
- SQL优化
- 昂贵的聘礼 POJ
- Android——RecyclerView——Adapter完全图解,带你彻底掌握万能的适配器