Giter Site home page Giter Site logo

donkingliang / consecutivescroller Goto Github PK

View Code? Open in Web Editor NEW
2.6K 41.0 351.0 7.12 MB

ConsecutiveScrollerLayout是Android下支持多个滑动布局(RecyclerView、WebView、ScrollView等)和普通控件(TextView、ImageView、LinearLayou、自定义View等)持续连贯滑动的容器,它使所有的子View像一个整体一样连续顺畅滑动。并且支持布局吸顶功能。

License: Apache License 2.0

Java 100.00%
scrollview recyclerview-webview-scrollview nestedscrolling android android-ui custom-view sticky sticky-headers recyclerview-nestedscrollview nestedscrollingparent

consecutivescroller's Introduction

欢迎来访我的主页

访问量统计

个人简介



Android Kotlin Vue HTML5 Flutter

  • 📍 广州(Guangzhou)
  • 👩‍💻 8 years of work.
  • wx : liangrenyan5201314
  • 📧 [email protected]

About My Github


consecutivescroller's People

Contributors

donkingliang avatar ehg613 avatar matcha-xiaobin 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

consecutivescroller's Issues

结合ViewPager2使用滑动太过顺畅

viewPager2嵌套Fragment:ConsecutiveScroller包裹的webView,
上下滑动WebView很容易跑偏,变左右滑动了,稍微一点斜划都会
换ViewPager是没有这个问题

拦截了横向滑动

竖直RecyclerView的item 横向滑动事件被拦截了,仿QQItem删除;
即该控件内放入2个竖直的RecyclerView ,竖直方向滑动没有问题,横向的滑动时间接收不到,无法做到item删除了

界面显示不完整

布局里面嵌套recyclerview,recyclerview数据是后台返回的,界面显示不完整

margin失效

作为根布局使用,子布局的margin都失效了

请问RecyclerView的LoadMore还能生效吗

比如最后一个子布局是RecyclerView,使用BRVAH加载数据,滑到底部它的LoadMore能生效吗?
如果最后一个是RecyclerView怎么能触发加载更多的操作?好像事件被父布局给拦截了

关于吸顶问题

有办法设置多个吸顶view同时吸附在屏幕最上方么?是需要重写某些方法么?比如吸顶view1和view2同时吸附在屏幕的最上端么?

可滑动的View是自定义子View中的子View,页面只能显示一屏范围,有什么解决方案吗?

比如首页为Tablayout+ViewPager,ViewPager内嵌套A和B两个页面,A的页面还是为TabLayout + ViewPager, B为RecyclerView.
首页的ViewPager继承Iconsecutive接口后可以正常的显示及滑动B页面,但A页面就只能显示一屏的范围。有办法获取到子View的子View作为滑动View吗?
还有一个小点是,sticky粘滞是只能在父布局中实现吗,比如想要页面A中的tablayout粘滞,是否只能另想办法了?
问题有点多,希望大佬能看一哈~十分感谢

内嵌recyclerview

有时候滑动的时候,会触发recyclerview的滑动,不是必现,快速操作的时候会出现

发现一个bug

《relativelayout》
《scrolllayout这个库》
《linearlayout》
《img》
《linearlayout横向》
《recycleview》

以上是大致的布局
为了能够在padding网上滑动的时候也能看见view,当我给scrolllayout加上clipToPadding=false。
当我往上滑的时候,发现横向linearout置顶了。应该是因为clipToPadding=false。导致某些计算有问题。

滑动冲突

子View有 banner(youthBanner)的时,banner左右滑动会触发上下拖动,

请问作者,该怎么实现类似coordinatorlayout的一种效果?请进来看看详细描述

我最外层父容器是ConsecutiveScrollerLayout. 里面有上, 中 , 下 三部分内容,最上面是一个背景图和文字
,中间是一个横向的tablayout, 下面是viewpager,viewpager中的fragment都是垂直的列表,现在我设置中间的tablayout吸顶,也就是往上滑动的时候会吸顶,当我中间内容吸顶的时候,怎样可以让上部分内容中的文字设置到最顶部的title上呢?

webview和其上的textview

webview加载了一段html代码,上面的textview也加载了一段文本 ,都是通过网络请求回来的数据设置的,设置完成后,不会滚动到最顶部,而是停留在webview的顶部

子Veiw不满一屏的时候,也能滑动。

发现ConsecutiveScrollerLayout设置layout_height为match_parent,嵌套子Veiw的内容不满一屏的时候,控件也可以滑动,而且还能滑出屏幕。layout_height设为wrap_content时候,子View上面会出现一大片空白强制填满屏幕,键盘弹出空白区域就没了,键盘消失后又有了,好像键盘会影响ConsecutiveScrollerLayout的滑动,遇到这种问题了吗?

感觉不是很跟手

之前用的RecyclerView的item的方式显示WebView,虽然不被推荐(高度只能wrap_content),但加载完成后滑动得很流畅,然后用改成用这个库,感觉滑动起来没有单纯的RecyclerView那么爽

不够流畅,有卡顿的情况

ConsecutiveScroller 中放入两个 RecyclerView,使用的都是多 itemType(因为padding的问题所以才使用两个RecyclerView),然后滑动到某个 item 就会卡,整体的滑动体验也不是很好

请问为什么类似这样的TextView设置margin无效呢?一定要嵌套一个ViewGroup,这样太麻烦了吧

<com.donkingliang.consecutivescroller.ConsecutiveScrollerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

   <TextView
       android:background="#33ff0000"
       android:textColor="#999999"
       android:textSize="14dp"
       android:padding="10dp"
       android:layout_margin="16dp"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:text="这个TextView设置的margin无效" />

</com.donkingliang.consecutivescroller.ConsecutiveScrollerLayout>

ViewPager中使用多Type类型的RecyclerView,fling时页面抖动闪烁

使用单一Type的Rv没有问题,在多Type的Rv中,每次不同的type在attachView以及detachView的过程中,整个页面频闪。
另外还一个小问题,配合SmartRefreshLayout使用,下拉加载更多的时候,顶部Sticky的布局被整体上移了,暂时失去了粘滞的效果,这个问题有解的可能吗?

只能作为根布局吗?

我按照截图这样布局,好像会有问题,控件的内容区不可滑动,点击控件外部会闪退:

image

java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.ViewGroup$LayoutParams android.view.View.getLayoutParams()' on a null object reference
        at com.donkingliang.consecutivescroller.ScrollUtils.isConsecutiveScrollerChild(ScrollUtils.java:188)
        at com.donkingliang.consecutivescroller.ConsecutiveScrollerLayout.dispatchTouchEvent(ConsecutiveScrollerLayout.java:172)

关于吸顶的一个问题

请看下代码:
`

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    app:layout_isSticky="true">

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_margin="12dp"
                        android:text="评价列表"
                        android:textSize="14sp"
                        tools:textColor="@color/black" />

                </LinearLayout>

                <androidx.recyclerview.widget.RecyclerView
                    android:id="@+id/recyclerView"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" />

            `

因为这个recyclerView 内容不一定填充满,但是我想让这个列表的内容不会被推上去,并且无内容的时候,需要显示一个emptyView,这emptyView是通过recyclerView的适配器实现的。
我该如何实现这个吸顶?

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.