Giter Site home page Giter Site logo

recyclerext's People

Contributors

brianwernick avatar hansenji avatar jeffengebretsen avatar lupsaa avatar solcott 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

recyclerext's Issues

Callback for FastScroll state

Currently event when the user is scrolling very quickly every view needs to be bound (because we don't know the scroll velocity). It would be nice to have a callback informing us when the RecyclerView is being scrolled quickly and exits being scrolled quickly (i.e. after a specified velocity the event is triggered).

This would allow us to not-rebind views when quickly scrolling (allowing for performance optimizations)

FastScroll ignores padding

Any padding on the FastScroll is ignored. e.g.

<com.devbrackets.android.recyclerext.widget.FastScroll
        android:id="@+id/fastScroll"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:paddingBottom="44dp"/>
Expected

The FastScroll bubble and handle stop 44dp before the bottom of the view

Actual

The FastScroll bubble and handle appear at the views bottom (not 44dp above)

setTrackClicksAllowed() flag doesn't behave as expected

First... I love the library! Thanks!

  • I have verified there are no duplicate active or recent bugs, questions, or requests
Include the following:
  • RecyclerExt version: 2.0.0
  • Device OS version: 7.0
  • Device Manufacturer: Huawei
  • Device Name: Nexus 6P
Reproduction Steps
  1. setTrackClicksAllowed(true)
  2. open activity with a RecyclerView
  3. Click in the track
Expected Result

The javadoc for setTrackClicksAllowed(boolean allowed) reads:
Specifies if clicks on the track should scroll to that position.
I expect the handle to jump to that position in the track and set the RecyclerView to that position as well.

Actual Result

The handle doesn't move and the RecyclerView doesn't scroll to that position. Instead, the handle is controlled from wherever the ACTION_DOWN took place.

RecyclerReorderCursorAdapter support for ItemTouchHelper

Right now the RecyclerReorderCursorAdapter only supports the built in ReorderDecoration. It would be nice to support the ItemTouchHelper way of dealing with RecyclerView's items but for this the reorderItems() method should call notifyItemMoved() instead of notifyDataSetChanged().
This change however breaks the ReorderDecoration implementation. A simple overridable method should suffice to let ItemTouchHelper implementation change this behaviour.

  • I have verified there are no duplicate active or recent bugs, questions, or requests
Include the following:
  • RecyclerExt version: 2.0.0
  • Device OS version: 6.0
  • Devide Manufacturer: Huawei
  • Device Name: Nexus 6P
Reproduction Steps
  1. Implement ItemTouchHelper with RecyclerReorderCursorAdapter
  2. Call reorderItem() on item move
Expected Result

The adapter should switch item positions smoothly.

Actual Result

The adapter has it's notifyDataSetChanged() method called and the reorder ends abruptly.

Migrate Publications to MavenCentral

  • I have verified there are no duplicate active or recent bugs, questions, or requests

JFrog is ending support for JCenter by February 1st, 2022 in 2 parts:

  1. Stop accepting new publications on March 31st, 2021
  2. Shutdown servers on February 1st, 2022

This means that for RecyclerExt to still be available after February 1st 2022 we need to migrate any existing versions to MavenCentral, and any new versions after March 31st 2021 will need to be published directly to MavenCentral.

Allow for FastScroll handle to be triggered and grabbed even when it's hidden

  • I have verified there are no duplicate active or recent bugs, questions, or requests
Include the following:
  • RecyclerExt version: 2.0.0
  • Device OS version: 6.0
  • Devide Manufacturer: Huawei
  • Device Name: Nexus 6P
Reproduction Steps
  1. Leave setHideHandleAllowed = true
  2. On device, open Activity with FastScroll enabled
  3. Attempt to begin scroll in right margin (when the FastScroll is not visible)
Expected Result

FastScroll / Handle appears immediately and scrolls the RecyclerView to that position. Handle can be controlled after that.

Actual Result

Nothing. The FastScroll handle is not visible until a scroll has been initiated on the RecyclerView. At that point, the handle can be grabbed and moved.

Optimize the HeaderIndex calculations

  • I have verified there are no duplicate active or recent bugs, questions, or requests

Currently the header indexes will be re-calculated whenever any change occurs to items (i.e. notify* called); we need to optimize this to only perform the calculations when necessary

Add an optional FastScroll group id

Currently every time the RecyclerView scroll position is changed we request the text for the popup (if enabled). In many applications this will be the same text for large groups of items, it would be nice to have an id associated with each group that then informs us we need to request the text. This should be similar to the HeaderAdapter ids.

Hide the FastScroll on shorter lists

  • I have verified there are no duplicate active or recent bugs, questions, or requests

The FastScroll widget is always visible even when the list is barely longer than the RecyclerView's size. The quick scroll implemented in the ListView would only show when the total scroll size (height or width) was 4x that of the ListView.

We should follow the same 4x size metric as a default, but also provide a configurable field

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.