RecyclerView 已经推出了一年多了,日常开发中也已经彻底从 ListView 迁移到了 RecyclerView,但前两天有人在一个安卓群里面问了个关于最顶上的 item view 加蒙层的问题,被人用 ItemDecoration 完美解决。此时我发现自己对 RecyclerView 的使用一直太过基本,更深入更强大的功能完全没有涉及,像 ItemDecoration, ItemAnimator, SmoothScroller, OnItemTouchListener, LayoutManager 之类,以及 RecyclerView 重用 view 的原理。网上也有很多对 RecyclerView 使用的讲解博客,要么
继续阅读 »
本文继上篇 ItemDecoration{:target="_blank"} 之后,是深入理解 RecyclerView 系列的第二篇,关注于 ItemAnimator,主要是分析 RecyclerView Animators{:target="_blank"} 这个库的原理,然后总结如何自己编写自定义的 ItemAnimator。本文涉及到的完整代码可以在 Github 获取{:target="_blank"}。
继续阅读 »
ExRecyclerView
ExRecyclerView 使用 Kotlin 编写
很多时候我们在使用 RecyclerView 时, 总是会碰到需要设置一个 header 或者 footer 的情况,
比如我们要加一个显示加载更多的footer,跟随 RecyclerView 一起滑动的 header, 等等,
这种情况如果是 ListView 我们可以简单的使用 addHeaderView() 或者 addFooterView()
就可以解决, 但是 RecyclerView 就需要我们自己来进行处理. 虽然说不困难,
但是每次都要重新实现一遍就很麻烦了.
ExRecyclerView一共实现了3个功能:
能添加和删
继续阅读 »
{% asset_img RefreshLayout.png %}
[QuickAF]使用RefreshLayout控件进行下拉刷新和上拉加载,通过在布局中定义app:ptr_content和app:ptr_empty或api中设置内容layout和错误view。
RefreshLayout的特点如下:
- 支持任意Layout的下拉刷新和上拉加载,默认支持VScrollView,RecyclerView, ListView, GridView上拉/下拉,还可以通过registerDetector来支持更多的Layout;
- 支持自定义EmptyView,一个EmptyView包含loading, empty, error三个子
继续阅读 »
上次说过使用主题,应用Material Design的样式,同时卡片布局也是Material Design的重要组成部分,今天来写写。
引言
在程序中创建复杂的Material Design 样式的 List和Card,可以使用RecyclerView和CardView组件,这两个组件是在最新的support v7包(version 21)中提供的。因此需要引入依赖包:
java
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile 'com.android.support:cardview-v7:+'
compile '
继续阅读 »