TonicArtos / SuperSLiM

A layout manager for the RecyclerView with interchangeable linear, grid, and staggered displays of views, all with configurable section headers including the sticky variety as specified in the material design docs.
http://tonicartos.nz
2.12k stars 297 forks source link

SwipeRefreshLayout not fully compatible with SuperSLiM #97

Closed ThanosFisherman closed 7 years ago

ThanosFisherman commented 9 years ago

I'm facing the issue described here SwipeRefreshLayout triggers the refresh behavior too early before the list is fully scrolled up to the top. On the android issue tracker they say they have fixed it but it is still happening to me. Do you think it's library's fault?

ThanosFisherman commented 9 years ago

Hm this problem only occurs when using sticky headers. and with the latest version of superslim the LayoutManager.LayoutParams.HEADER_STICKY is deprecated. But I really want sticky headers what should I use instead??

TonicArtos commented 9 years ago

The sticky header setting is becoming default for all headers, and only optionally off for inline headers.

On Sun, 24 May 2015 19:50 Thanos Psaridis (Fisherman) < notifications@github.com> wrote:

Hm this problem only occurs when using sticky headers. and with the latest version of superslim the LayoutManager.LayoutParams.HEADER_STICKY is deprecated. But I really want sticky headers what should I use instead??

— Reply to this email directly or view it on GitHub https://github.com/TonicArtos/SuperSLiM/issues/97#issuecomment-105047452 .

ThanosFisherman commented 9 years ago

Ah good. So if I want it to be inline AND sticky what should I declare in the parameters? nothing?

TonicArtos commented 9 years ago

You should see this message explaining the deprecation.

So no real change for the current version. With regards to the library problem with SwipeRefreshLayout, it is likely that the stickied header is being detected and therefore it thinks the top of the content has been reached. TBH, I haven't looked into it yet. I'll get around to it, but I have more pressing things to do right now.

        /**
         * This constant has been marked as deprecated to indicate its pending replacement in the
         * next major version. In the future, sticky behaviour will be standard, and there will be
         * an option disable it with a new NONSTICKY constant, however, use of it will force the
         * INLINE display method.
         */
        @Deprecated
        public static final int HEADER_STICKY = 0x10;
TonicArtos commented 9 years ago

Oh, and there is an issue tracking the changes to the header settings, #89.

ThanosFisherman commented 9 years ago

Thanks for the heads up. I haven't attached the sources so I didn't see this message. (I just use the library via gradle dependency so I see no sources or docs)

Yeah I believe that's the case with sticky header and SwipeRefreshLayout. Take your time. I'll check the source and make an attempt to fix it myself. But I'm kinda noob at such things :P

TonicArtos commented 9 years ago

Hmm, I thought the documentation came through with the gradle dependency. I'll have to check that again.

On Sun, 24 May 2015 20:27 Thanos Psaridis (Fisherman) < notifications@github.com> wrote:

Thanks for the heads up. I haven't attached the sources so I didn't see this message. (I just use the library via gradle dependency so I see no sources or docs)

Yeah I believe that's the case with sticky header and SwipeRefreshLayout. Take your time. I'll check the source and make an attempt to fix it myself. But I'm kinda noob at such things :P

— Reply to this email directly or view it on GitHub https://github.com/TonicArtos/SuperSLiM/issues/97#issuecomment-105055604 .

ZacSweers commented 9 years ago

For AARs, documentation and sources don't come through. You have to use something like this: https://github.com/xujiaao/AARLinkSources

dvdciri commented 3 years ago

@TonicArtos Why is this closed? I'm having the same issue and it appears to be related to the sticky headers. By removing the library it works fine, do we have a solution for this?