Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/danoz73/RecyclerViewFastScroller
A Fast Scroller for the RecyclerView world!
https://github.com/danoz73/RecyclerViewFastScroller
Last synced: 14 days ago
JSON representation
A Fast Scroller for the RecyclerView world!
- Host: GitHub
- URL: https://github.com/danoz73/RecyclerViewFastScroller
- Owner: danoz73
- License: other
- Created: 2015-02-13T06:03:21.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2020-03-30T19:14:11.000Z (over 4 years ago)
- Last Synced: 2024-10-15T10:21:07.421Z (24 days ago)
- Language: Java
- Homepage:
- Size: 451 KB
- Stars: 1,132
- Watchers: 47
- Forks: 211
- Open Issues: 57
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- -awesome-android-ui - RecyclerViewFastScroller - 2.0) | <img src="/art/RecyclerViewFastScroller.png" width="49%"> <img src="/art/RecyclerViewFastScroller2.png" width="49%"> (Index `(light-weight pages)`)
- awesome-android-ui - RecyclerViewFastScroller - 2.0) | <img src="/art/RecyclerViewFastScroller.png" width="49%"> <img src="/art/RecyclerViewFastScroller2.png" width="49%"> (Index `(light-weight pages)`)
- awesome-github-android-ui - RecyclerViewFastScroller - 连接到RecyclerView实现快速滚动 (SideBar)
- awesome-android-ui - RecyclerViewFastScroller - 2.0) | <img src="/art/RecyclerViewFastScroller.png" width="49%"> <img src="/art/RecyclerViewFastScroller2.png" width="49%"> (Index)
README
RecyclerViewFastScroller
===================================The RecyclerViewFastScroller is a widget that can be added to a layout and connected to a RecyclerView for fast scrolling.
This project is a demonstration of using the RecyclerViewFastScroller widget in a simple activity that uses the basic workings of com.example.android.recyclerview from the v21 Android samples.
![RecyclerViewFastScroller screenshot](http://i.imgur.com/IozUtucl.png)
![RecyclerViewFastScroller with section indicator screenshot](http://i.imgur.com/2zBwIlwl.png)As of [`b3e2d2f`](https://github.com/danoz73/RecyclerViewFastScroller/commit/b3e2d2fa8284dea31fbc5f9f218199f2a187a657), there is now support for adding a `SectionIndicator` widget, which connects to the scroller. This adds functionality similar to Google's Lollipop Contacts application.
### Download
You can grab the current version of the library from maven central
```java
compile 'xyz.danoz:recyclerviewfastscroller:0.1.3'
```### Usage
Below are some simple steps to using a RecyclerViewFastScroller. Currently, there is only a single implementation (`VerticalRecyclerViewFastScroller`), so that will be used here.
The best way to check everything out is to peruse the example code and run the sample Application. See how `VerticalRecyclerViewFastScroller` is utilized in the `recycler_view_frag.xml`.
##### Example Code
1) In the activity or fragment XML where your `RecyclerView` resides, include a `VerticalRecyclerViewFastScroller` object. The following example would be in a relative layout:
```java
...
...
```2) In your fragment or activity where you setup layout programmatically, simply hook up the fast scroller to the recycler as follows:
```java
...
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.recycler_view_frag, container, false);
...
// Grab your RecyclerView and the RecyclerViewFastScroller from the layout
RecyclerView recyclerView = (RecyclerView) rootView.findViewById(R.id.recyclerView);
VerticalRecyclerViewFastScroller fastScroller = (VerticalRecyclerViewFastScroller) rootView.findViewById(R.id.fast_scroller);
// Connect the recycler to the scroller (to let the scroller scroll the list)
fastScroller.setRecyclerView(recyclerView);
// Connect the scroller to the recycler (to let the recycler scroll the scroller's handle)
recyclerView.setOnScrollListener(fastScroller.getOnScrollListener());
...
return rootView;
}
...
```###### Optional usage
There are currently a few attributes that can be used to customize the vertical fast scroller:
```java
```You can see usage of some of these in the example `recycler_view_with_fast_scroller_fragment.xml` which is the layout for the example app's single fragment.
##### SectionIndicators
Refer to `RecyclerViewWithSectionIndicatorFragment` and the corresponding `recycler_view_with_fast_scroller_section_title_indicator_fragment.xml` in order to find an implementation that adds the Lollipop-Contacts-like section indicator. In addition to the above, you will need to include the indicator in your layout (example here from `recycler_view_with_fast_scroller_section_title_indicator_fragment.xml`):
```java
...
...
```
and then connect it to the scroller in the fragment:
```java
...
// Connect the section indicator to the scroller
fastScroller.setSectionIndicator(sectionTitleIndicator);
...
```### Contribution
Feel free to submit pull requests and create issues! I will try to be vigilant about maintaining this library, but may not always be as fast as you would like ;)