https://github.com/yazan98/range-slider-ktx
Android Library to Customize, Show Range Slider With 2 Thumbs, Custom Thumbs, Steps, Dynamic Colors, Dynamic Range
https://github.com/yazan98/range-slider-ktx
android android-library progress-bar progress-slider range range-slider range-slider-component range-slider-library slider slider-library
Last synced: 3 months ago
JSON representation
Android Library to Customize, Show Range Slider With 2 Thumbs, Custom Thumbs, Steps, Dynamic Colors, Dynamic Range
- Host: GitHub
- URL: https://github.com/yazan98/range-slider-ktx
- Owner: Yazan98
- License: mit
- Created: 2024-05-03T14:22:51.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-04T10:29:39.000Z (about 1 year ago)
- Last Synced: 2025-01-07T23:17:17.558Z (5 months ago)
- Topics: android, android-library, progress-bar, progress-slider, range, range-slider, range-slider-component, range-slider-library, slider, slider-library
- Language: Kotlin
- Homepage:
- Size: 153 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RangeSliderKTX
RangeSliderKTX is a versatile and customizable Android library for implementing range selection sliders in your apps with ease. Whether you need to select a range of dates, prices, or any other numeric values, RangeSliderKTX provides a sleek and intuitive user interface for users to interact with.
## Features
* Range Selection: Allow users to easily select a range of values by dragging two thumbs along a track.
* Customizable Appearance: Customize the appearance of the slider, including track color, thumb color, and track height, to match your app's design.
* Flexible Configuration: Configure the slider to work with various types of numeric ranges, including integers, floats, and dates.
* Listener Support: Set listeners to receive updates when the range selection changes, enabling you to react to user interactions programmatically.
* Easy Integration: Simple integration with your Android app using Gradle, with Kotlin extensions (KTX) for seamless development experience.## Slider Screenshots
## Getting Started
To get started with RangeSliderKTX, follow these steps:
1. Add Dependency: Add the library dependency to your project's build.gradle file:
```
// Gradle
implementation 'com.yazantarifi:range-slider:1.0.0'
// Gradle Splitted Version
implementation group: 'com.yazantarifi', name: 'slider', version: '1.0.0'
// Gradle KTX
implementation("com.yazantarifi:slider:1.0.0")
```2. Integrate into Layout: Integrate RangeSliderKTX into your layout XML file:
```
```
3. Customize Appearance: Customize the appearance and behavior of the slider using XML attributes or programmatically in your Kotlin code.
4. Handle Events: Set listeners to handle events when the range selection changes or when the user interacts with the slider.## Examples
```
binding.slider.let {
it.onUpdateRangeValues(0f, 100f) // Initial Values Minimum and Maximumit.onAddRangeListener(object : RangeSliderListener {
override fun onRangeProgress(
fromValue: Float,
toValue: Float,
isFromUser: Boolean
) {
if (isFromUser) { // Event if the Change From User Movement or from Code
binding.fromValue.setText(fromValue.toString())
binding.toValue.setText(toValue.toString())
}
}override fun onThumbMovement(value: Float, thumbIndex: Int, isFromUser: Boolean) {
}
})
}```
> Note, The Included App in this Repo has 3 Examples
## Slider Customization Attributes
| Attribtes | Value | Description |
|----------------------|-------------------------------|-------------------------------------------------|
| rectangle_height | Dimention Number (Dp, Sp, Px) | The Height of the Slider |
| corner_radius | Dimention Number (Dp, Sp, Px) | Corner Radius of the Slider Progress |
| slider_background | Color Resource | The Background Color of the Range behind Slider |
| slider_active_color | Color Resource | The Active Color of the Progress Area |
| slider_from_progress | Float | Current From Thumb Progress Value |
| slider_to_progress | Float | Current To Thumb Progress Value |
| slider_min_value | Float | Minimum Value of the Range |
| slider_max_value | Float | Maximum Value of the Range |
| thumb_size | Dimention Number (Dp, Sp, Px) | Thumb Size (The 2 Circles for Progress) |
| thumb_color | Color Resource | Thumb Color (The 2 Circles for Progress) |
| thumb_second_color | Color Resource | Second Thumb Color to Create Layers |
| thumb_single_color | Boolean | To Draw the Thumbs With One Color or 2 Colors |
| slider_step_size | Float | Steps Between Range to make Thumbs Jumping |> Note Anything Customizable from Xml has a Function to change it in Runtime (for Dynamic UIs, Api Response Colors)
## Library Versions
1. Library Version: 1.0.0
2. Minimum Supported Version: 26
3. Target Version: 34## License
RangeSliderKTX is released under the MIT License. See LICENSE for details.## Contributing
Contributions are welcome! Please feel free to open issues or submit pull requests to help improve this project.## Commands to Publish
```
./gradlew build
./gradlew slider:publishReleasePublicationToSonatypeRepository
```