I3eyonder / android-standalone-scroll-bar

Standalone scrollbar for Android

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Demo

Integration

Gradle:

This library is available on jitpack.io.

Step 1. Add the JitPack repository to your build file

Add this in your root build.gradle at the end of repositories:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}
Step 2. Add the dependency

implementation 'com.github.I3eyonder:android-standalone-scroll-bar:x.y.z'

Usage

Xml

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

<com.hieupt.android.standalonescrollbar.StandaloneScrollBar
        android:id="@+id/scrollbar"
        android:layout_width="wrap_content"
        android:layout_height="match_parent" />

Code

scrollbar.attachTo(recyclerView)

To using with [NestedScrollView, ScrollView, HorizontalScrollView, WebView], please use [NestedScrollView2, ScrollView2, HorizontalScrollView2, WebView2] for your layout instead.

scrollbar.attachTo(nestedScrollView2)

You can also implement your own ScrollableView to use StandaloneScrollBar with any View. You can refer VerticalScrollViewHelper or HorizontalScrollViewHelper for example of implementation.

scrollbar.attachTo(scrollableView)

Customization

scrollbar.visibilityManager = YourCustomVisibilityManager()
  • Custom track/thumb drawable using attribute scrollbarTrackDrawable and scrollbarThumbDrawable or through java/kotlin
scrollbar.customTrackDrawable = customDrawable
scrollbar.customThumbDrawable = customDrawable
  • Tint track/thumb by using attribute scrollbarDefaultTrackTint and scrollbarDefaultThumbTint
scrollbar.defaultThumbTint = ColorStateList()
scrollbar.defaultTrackTint = ColorStateList()
  • Custom thumb length by using attribute scrollbarThumbLength|scrollbarThumbLengthByTrackRatio|scrollbarMinThumbLength|scrollbarAutoThumbLength. If multi attributes is set, the priorities order will be scrollbarThumbLength > scrollbarThumbLengthByTrackRatio > scrollbarAutoThumbLength
scrollbar.thumbLength = desireLengthInPx
scrollbar.thumbLengthByTrackRatio = percentOfTrackLength //[0.0..1.0]
scrollbar.minThumbLength = desireLengthInPx
scrollbar.autoThumbLength = true|false
  • Enable/Disable thumb bar drag ability using attribute scrollbarDraggable
scrollbar.draggable = true|false
  • Auto hide ability (attribute scrollbarAlwaysShow)
scrollbar.isAlwaysShown = true|false
  • Delay duration before scrollbar auto hide (attribute scrollbarDelayBeforeAutoHideDuration)
scrollbar.delayBeforeAutoHide = delayTimeInMillis

About

Standalone scrollbar for Android

License:Apache License 2.0


Languages

Language:Kotlin 100.0%