Android RecyclerView
Android RecyclerView新方案。
zhangphil
zhangphil@live.com
展开
-
Android RecyclerView ItemDecoration timeline(一)
package zhangphil.book;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Rect;import android.gra...原创 2018-12-19 20:13:33 · 594 阅读 · 0 评论 -
Android RecyclerView ItemDecoration divider line with drawable
package zhangphil.book;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Rect;import android.graphics.drawable.Drawable;import...原创 2018-12-18 19:17:34 · 422 阅读 · 0 评论 -
Android RecyclerView DividerItemDecoration使用Drawable
Android RecyclerView DividerItemDecoration使用Drawablepackage zhangphil.book;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.support.annotation.NonNull;import a...原创 2018-12-17 21:45:14 · 2885 阅读 · 1 评论 -
Android RecyclerView DividerItemDecoration
package zhangphil.book;import android.graphics.drawable.ColorDrawable;import android.os.Bundle;import android.support.annotation.NonNull;import android.support.v4.content.ContextCompat;import a...原创 2018-12-16 11:36:35 · 1175 阅读 · 0 评论 -
Android通过PagerSnapHelper改造RecyclerView成“ViewPager”
Android通过PagerSnapHelper改造RecyclerView成“ViewPager”最新Android平台针对RecyclerView引入一个辅助类PagerSnapHelper,PagerSnapHelper可以把一个普通的RecyclerView改造成ViewPager,每一个RecyclerView的子item在翻动时候,像ViewPager一样。如代码:pac...原创 2018-09-25 11:29:55 · 7304 阅读 · 1 评论 -
Android滚轮实现LinearSnapHelper
Android滚轮实现LinearSnapHelperLinearSnapHelper可以帮助Android的RecyclerView实现滚轮效果,所谓滚轮效果,就是在列表内容滚动时候,总是把某一项内容处于屏幕(视野)正中间。本例特意把RecyclerView设置成水平方向,更容易观察出滚轮实现的效果。同时把RecyclerView的子item故意设置大一些,左右滑动时候的效果如图,可以看...原创 2018-09-21 16:33:31 · 7079 阅读 · 0 评论 -
RecyclerView、NestedScrollView嵌套子RecyclerView焦点抢夺引起子元素显示位置异常
RecyclerView、NestedScrollView嵌套子RecyclerView焦点抢夺引起子元素显示位置异常错误表现是子元素抢占焦点,使得嵌套的子RecyclerView滚动到自己位置。解决方案:在根滚动布局View(最顶层的RecyclerView、NestedScrollView)里面设置:android:focusableInTouchMode="true"andro...原创 2018-09-11 15:37:26 · 2457 阅读 · 0 评论 -
NestedScrollView嵌套RecyclerView,切换页面RecyclerView自动滚到(跳到)NestedScrollView顶部
NestedScrollView嵌套RecyclerView,切换页面RecyclerView自动滚到(跳到)NestedScrollView顶部当NestedScrollView嵌套RecyclerView时候,在页面来回切换时候,比如布局文件这样嵌套写:<?xml version="1.0" encoding="utf-8"?><android.support.v...原创 2018-08-07 15:34:39 · 4342 阅读 · 1 评论 -
Android NestedScrollView嵌套RecyclerView滑动卡顿问题简洁解决方案
Android NestedScrollView嵌套RecyclerView滑动卡顿问题简洁解决方案其实仅仅需要给RecyclerView加一行控制代码即可:mRecyclerView.setNestedScrollingEnabled(false);这是最简洁的解决方案过去网上也给出了其他的解决方法,比如是这样:mLinearLayoutManager.setSmoothScrollbarEna...原创 2018-06-06 12:23:17 · 5823 阅读 · 2 评论 -
HorizontalScrollView包裹RecyclerView,使用StaggeredGridLayoutManager均分网格形成表格状列表,不固定列,每次刷新数据列位置异常错乱变动问题
HorizontalScrollView包裹RecyclerView,使用StaggeredGridLayoutManager均分网格形成表格状列表,不固定列,每次刷新数据列位置异常错乱变动问题问题描述:用HorizontalScrollView包裹RecyclerView,使用StaggeredGridLayoutManager均分网格形成表格状列表,由于列不固定,具体列数来自服务器,这样每次刷...原创 2018-05-12 18:14:37 · 3334 阅读 · 0 评论 -
NestedScrollView嵌套RecyclerView最后一条item显示不全
NestedScrollView嵌套RecyclerView最后一条item显示不全首先要在最外层的NestedScrollView配置属性 android:fillViewport="true": <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" a...原创 2018-05-07 17:38:45 · 9264 阅读 · 1 评论 -
Android取消RecyclerView、ListView、ScrollView、HorizontalScrollView滑动到边缘闪现灰白色水波纹动画
Android取消RecyclerView、ListView、ScrollView、HorizontalScrollView滑动到边缘闪现灰白色水波纹动画标准的Android RecyclerView、ListView、ScrollView、HorizontalScrollView滑动到边缘,会闪现灰白色水波纹动画,以这样大的动画效果提示用户已经滑动到边缘,没法再滑动了。对于这种增强体验是一个很好...原创 2018-05-04 14:43:30 · 6116 阅读 · 0 评论 -
Android两条并排RecyclerView实时联动滑动增强
Android两条并排RecyclerView实时联动滑动增强在附录1中,我初步实现了两条垂直摆放的RecyclerView的实时联动滚动,但是附录文章1的实现存在一定问题,比如当用户的手指同时在屏幕的两条RecyclerView区域内滑动,将发生异常。还有就是,比如在RecyclerView1正在滚动时候,用户又在RecyclerView2的区域内手指滑动,这样将触发循环嵌套滚动事件,引发错误,...原创 2018-04-24 18:52:43 · 7870 阅读 · 2 评论 -
Android StaggeredGridLayoutManager布局RecyclerView在滚动状态可见范围刷新数据
Android StaggeredGridLayoutManager布局RecyclerView在滚动状态可见范围刷新数据之所以把StaggeredGridLayoutManager布局的RecyclerView单列出来处理滚动状态下可见(可视)范围内的数据更新问题,是因为在StaggeredGridLayoutManager布局下的RecyclerView,对于第一个可视item和最后一个可视i...原创 2018-04-16 18:24:43 · 4233 阅读 · 0 评论 -
基于Android官方AsyncListUtil优化经典ListView分页加载机制(二)
基于Android官方AsyncListUtil优化经典ListView分页加载机制(二)我写的附录文章1,介绍了如何使用Android官方的分页加载框架AsyncListUtil优化改进常见的RecyclerView分页加载实现。AsyncListUtil作为一种通用的分页加载框架,不仅可以套用在RecyclerView,也可也适用在经典(传统)ListView中,下面给出一个简单例子,说明如何原创 2017-11-27 14:57:27 · 3603 阅读 · 2 评论 -
基于Android官方AsyncListUtil优化改进RecyclerView分页加载机制(一)
基于Android官方AsyncListUtil优化改进RecyclerView分页加载机制(一)Android AsyncListUtil是Android官方提供的专为列表这样的数据更新加载提供的异步加载组件。基于AsyncListUtil组件,可以轻易实现常见的RecyclerView分页加载技术。AsyncListUtil技术涉及的细节比较繁复,因此我将分别写若干篇文章,分点、分解Async原创 2017-11-22 14:49:21 · 5264 阅读 · 1 评论 -
Android若干条并排RecyclerView滑动实时联动
Android若干条并排RecyclerView滑动实时联动以水平方向并排排列的两条RecyclerView为例,实现一个简单的功能:这两个RecyclerView要实时联合滚动,即其中任意一个RecyclerView,将触发其余所有RecyclerView同时滚动相同。写布局:<LinearLayout xmlns:android="http://schemas.android.com/apk原创 2018-04-13 11:09:02 · 3548 阅读 · 0 评论 -
Android可折叠收缩伸展的Expandable分组RecyclerView:模型抽象和封装(二)
Android可折叠收缩伸展的Expandable分组RecyclerView:模型抽象和封装(二)如今Android这种可收缩伸展的Expandable RecyclerView是如此常用,在附录1的基础上,我重新把模型进行了抽象和封装,设计了一套新的架构和简洁的使用方式支持这种功能。重点就是ExpandableItemAdapter类,可直接把RecyclerView的Adapter直接继承E...原创 2018-04-06 09:31:22 · 8328 阅读 · 17 评论 -
Android RecyclerView增加头部Header和尾部Footer,并实现Item分组
Android RecyclerView增加头部Header和尾部Footer,并实现Item分组如图所示:在Android的RecyclerView上实现增加若干头部Header和若干尾部Footer,关键是利用ViewType的类型,然后由本例的抽象类Item返回的类型加载不同的ViewHolder。代码:package app.zhangphil.exp;import android.g原创 2018-04-05 10:42:29 · 3626 阅读 · 0 评论 -
Android可收缩伸展的Expandable分组RecyclerView
Android可收缩伸展的Expandable分组RecyclerViewAndroid上的可收缩伸展的Expandable RecyclerView第三方开源项目很多,但是在自己的项目引用了这些github上的类似项目后,发现问题和Bug很多,不稳定,无奈之下,自己在RecyclerView基础上写了一个相对稳定、可以收缩伸展Expandable分组RecyclerView。代码:import原创 2018-04-04 10:52:05 · 5094 阅读 · 0 评论 -
Android RecyclerView的StaggeredGridLayoutManager实现交错排列的子元素分组
Android RecyclerView的StaggeredGridLayoutManager实现交错排列的子元素分组先看实现的结果如图:设计背景:现在的产品对设计的需求越来越多样化,如附录文章2是典型的联系人分组RecyclerView,子元素排列到一个相同的组,但是有些时候,UI要求把这些元素不是垂直方向的,而是像本文开头的图中所示样式排列,这就需要用StaggeredGridLayoutMa原创 2018-03-30 16:09:58 · 3056 阅读 · 0 评论 -
Android RecyclerView实现子元素的Group分组,LinearLayoutManager垂直方向
Android RecyclerView实现子元素的Group分组,LinearLayoutManager垂直方向我使用LinearLayoutManager实现一个常见的分组RecyclerView,所谓分组,就是把RecyclerView的元素分类归整到一个组中,常见的联系人、通讯录,往往会以姓名、姓氏作为分组的组。重点是使用RecyclerView的Item viewType。代码:pack...原创 2018-03-30 15:38:43 · 7542 阅读 · 0 评论 -
Android RecyclerView滑动到底部/上拉/上拉见底自动加载更多实现以及点击/长按事件处理
Android RecyclerView滑动到底部/上拉/上拉见底自动加载更多实现以及点击/长按事件处理Android RecyclerView下拉加载更多有Android谷歌官方的实现,实现的方式是通过SwipeRefreshLayout把RecyclerView包裹起来,然后就可以通过SwipeRefreshLayout的回调接口实现下拉刷新功能。Android上拉加载上拉刷新的实现没有官方统...原创 2018-03-23 09:41:25 · 3892 阅读 · 1 评论 -
Android RecyclerView单击、长按事件标准实现:基于OnItemTouchListener + GestureDetector
Android RecyclerView单击、长按事件:基于OnItemTouchListener + GestureDetector标准实现Android RecyclerView虽然拥有ListView绝大多数的功能,但Android RecyclerView却没有实现像ListView那样的点击事件、长按事件的标准实现方式,我在附录文章1中介绍的方式,实现了典型的RecyclerView原创 2016-11-19 14:39:58 · 9554 阅读 · 1 评论 -
RecyclerView点击事件
package zhangphil.myrecyclerview;import android.support.v7.app.ActionBarActivity;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import android.原创 2015-07-06 10:50:23 · 5404 阅读 · 1 评论 -
Android RecyclerView单击、长按事件:基于OnItemTouchListener +GestureDetector标准实现(二),封装抽取成通用工具类
Android RecyclerView单击、长按事件:基于OnItemTouchListener +GestureDetector标准实现(二),封装抽取成通用工具类我写的附录文章2,介绍了Android如何基于OnItemTouchListener +GestureDetector实现单击、长按事件的监听,由于如今RecyclerView在Android开发是如此的普遍,以及Recycle原创 2016-11-19 16:20:39 · 4336 阅读 · 2 评论 -
Android RecyclerView的StaggeredGridLayoutManager和CardView
《Android RecyclerView的StaggeredGridLayoutManager和CardView》StaggeredGridLayoutManager,顾名思义,”交错排列的Grid”,在RecyclerView中可以将元素分列编排下去。我在之前的文章中分别介绍了RecyclerView(参考文章:http://blog.csdn.net/zhangphil/ar原创 2015-08-13 09:05:35 · 7730 阅读 · 3 评论 -
Android Room联合AsyncListUtil实现RecyclerView分页加载ORM数据
Android Room联合AsyncListUtil实现RecyclerView分页加载ORM数据我之前写了一系列关于AsyncListUtil实现RecyclerView和ListView的分页加载机制和技术路线,见附录文章4,5。同时也写了一些列文章介绍Android官方推出的ORM数据库:Room技术,见附录文章1,2。现在结合Android分页加载框架AsyncListUtil,以及An原创 2017-11-29 09:54:19 · 5288 阅读 · 5 评论 -
Android RecyclerView单点、批量数据元素项目item的增加、删除和移动
Android RecyclerView单点、批量数据元素项目item的增加、删除和移动前文附录1,2介绍了基本的Android RecyclerView单点、批量元素项目的更新。现在给出其他比较重要的Android RecyclerView数据元素项目的删除和增加,删除和增加包含两种,一种是单点,另外一种是批量的元素。(一)RecyclerView删除操作。(a)单点删除:notifyItemR原创 2017-11-20 14:33:40 · 5010 阅读 · 0 评论 -
Android RecyclerView批量更新notifyItemRangeChanged
Android RecyclerView批量更新notifyItemRangeChanged附录1的文章,介绍RecyclerView的定点更新,现在介绍RecyclerView的批量更新,RecyclerView的批量更新通过notifyItemRangeChanged实现,notifyItemRangeChanged官方文档: /** * Notify any regist原创 2017-11-20 10:34:04 · 10038 阅读 · 0 评论 -
Android RecyclerView更新子项目notifyItemChanged
Android RecyclerView更新子项目notifyItemChanged在过去Android的ListView中,如果ListView中某一个或者一批项目发生变化,需要通过adapter的notifyDataSetChanged更新数据到最新,但是从ListView演进到现在的RecyclerView,数据的更新不需要像ListView那样notifyDataSetChanged,而是原创 2017-11-17 22:13:22 · 22567 阅读 · 1 评论