Giter Site home page Giter Site logo

zhou-you / easyxrecyclerview Goto Github PK

View Code? Open in Web Editor NEW
626.0 18.0 116.0 72.83 MB

主要提供了简单易用强大的RecyclerView库,包括自定义刷新加载效果、极简通用的万能适配器Adapter、万能分割线、多种分组效果、常见状态页面、item动画效果、添加多个header和footer、侧滑、拖拽、Sticky(黏性)效果、多item布局等,各模块之间灵活、解耦、通用、又能相互组合使用。

Java 96.35% HTML 3.65%
recyclerview recyclerview-adapter recyclerview-item-animation recyclerview-header recyclerview-multi-type recyclerview-item-decoration recyclerview-loadmore

easyxrecyclerview's Introduction

EasyXRecyclerView

主要提供了简单易用强大的RecyclerView库,包括自定义刷新加载效果、极简通用的万能适配器Adapter、万能分割线、多种分组效果、常见状态页面、item动画效果、添加多个header和footer、侧滑、拖拽、Sticky(黏性)效果、多item布局等,各模块之间灵活、解耦、通用、又能相互组合使用。

注:库很轻量只有213Kb,虽然功能多,大部分是复用!!!

功能

  • 优化RecyclerView功能
  • 支持刷新和加载更多效果,滑动到底部自动加载下页数据
  • 支持自定义刷新和加载更多效果
  • 支持添加多个header和footer,一行代码搞定
  • 支持动态加载各种Item类型的列表、网格、瀑布流
  • 支持极简通用的万能适配器Adapter,可以接受任意数据实体
  • 支持万能的分割线、设置高度(宽度)、颜色、自定义等
  • 支持点击和长按效果
  • 支持Item加载动画效果
  • 支持各种分组、随心定义分组头部、尾部、多类型内容item
  • 支持侧滑、拖拽
  • 支持Sticky(黏性)效果
  • 支持多item布局
  • 支持状态页面,加载中、空页面、错误页面、内容页面切换
  • 支持自定义万能adapter、holder

Demo下载

downloads

扫码下载体验

演示(请star支持)

版本说明

当前版本

release

build.gradle设置

dependencies {
 compile 'com.zhouyou:easyrecyclerview:1.0.6'
}

想查看所有版本,请点击下面地址。

jcenter

更多详细介绍请查看wiki,戳这里!

鸣谢

本库前身主要是以XRecyclerView为基础展开,借鉴和整合其它一些开源项目,再次感谢!

关于我

github csdn

联系方式

本群旨在为使用我github项目的人提供方便,如果遇到问题欢迎在群里提问。

欢迎加入QQ交流群(Q1群已满,请加入Q2群)

easyxrecyclerview's People

Contributors

zhou-you avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

easyxrecyclerview's Issues

下载的Demo启动就闪退

demo包里根本没有各个Activity的代码。。

Process: com.zhouyou.recyclerviewdemo, PID: 3994
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.zhouyou.recyclerviewdemo/com.zhouyou.recyclerview.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.zhouyou.recyclerview.MainActivity" on path: DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/com.zhouyou.recyclerviewdemo-YOOPfgOriBUxaX-Gxoi0fg==/base.apk"],nativeLibraryDirectories=[/data/app/com.zhouyou.recyclerviewdemo-YOOPfgOriBUxaX-Gxoi0fg==/lib/arm64, /system/lib64, /product/lib64]]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3355)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3614)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:86)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2199)
at android.os.Handler.dispatchMessage(Handler.java:112)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7625)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.zhouyou.recyclerview.MainActivity" on path: DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/com.zhouyou.recyclerviewdemo-YOOPfgOriBUxaX-Gxoi0fg==/base.apk"],nativeLibraryDirectories=[/data/app/com.zhouyou.recyclerviewdemo-YOOPfgOriBUxaX-Gxoi0fg==/lib/arm64, /system/lib64, /product/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:69)
at android.app.Instrumentation.newActivity(Instrumentation.java:1224)

當禁止上拉refresh,只同意下滑load more時,需下滑兩次才能觸發

LinearLayoutManager linearLayoutManager1 = new LinearLayoutManager(MessageActivity.this);
linearLayoutManager1.setOrientation(LinearLayoutManager.VERTICAL);
recyclerviewMessage.setLayoutManager(linearLayoutManager1);
recyclerviewMessage.setItemAnimator(new DefaultItemAnimator());
recyclerviewMessage.setPullRefreshEnabled(false);
recyclerviewMessage.setLoadingMoreEnabled(true);
recyclerviewMessage.setLoadingMoreProgressStyle(ProgressStyle.BallSpinFadeLoader);
recyclerviewMessage.setFootViewText("資料讀取中","");
recyclerviewMessage.setAdapter(messageAdapter);

當 上拉及下滑都是true時,可以順暢操作。但 如果將上拉 改成false 下滑 維持true時,直接下滑是無法觸發load more的要下滑第二次才會觸發,或者先上拉 再下滑才能觸發load more。

CoordinatorLayout中如果使用了CollapsingToolbarLayout会出现滑动问题

机型:I999
版本:Android 4.2

布局代码

<?xml` version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="192dp"
        >

        <android.support.design.widget.CollapsingToolbarLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:contentScrim="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed"
            app:layout_scrollInterpolator="@android:anim/decelerate_interpolator"
            app:toolbarId="@+id/toolbar">

            <ImageView
                android:id="@+id/app_bar_image"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="centerCrop"
                android:src="@android:drawable/sym_def_app_icon" />

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize" />
        </android.support.design.widget.CollapsingToolbarLayout>
    </android.support.design.widget.AppBarLayout>

    <com.zhouyou.recyclerview.XRecyclerView
        android:id="@+id/recyclerview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:overScrollMode="never"
        android:fitsSystemWindows="true"
        app:layoutManager="android.support.v7.widget.LinearLayoutManager"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="16dp"
        android:clickable="true"
        android:src="@android:drawable/ic_input_add" />
</android.support.design.widget.CoordinatorLayout>)

表现:
下拉XRecyclerView时,Toolbar无法展开,XRecyclerView不停地跳跃回弹,无法带动CollapsingToolbarLayout展开。

应该是app:layout_behavior="@string/appbar_scrolling_view_behavior"指定的behavior不能适配这个XRecyclerView。

建议:
可以继承AppBarLayout.ScrollingViewBehavior来解决这一问题,并使用@CoordinatorLayout.DefaultBehavior(myScrollingViewBehavior.class)来标记XRecyclerView

横向布局问题

使用XRecyclerView加载横向布局会出现拖动完一个父布局的宽度才会显示图片的情况
版本号是1.0.6

一个项目接入、运行无法找到 类

Caused by: android.view.InflateException: Binary XML file line #190: Binary XML file line #190: Error inflating class com.zhouyou.recyclerview.XRecyclerView

是依赖冲突来吗?还是什么 buildToolsVersion 版本问题!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.