All Projects → MohammedAlaaMorsi → RangeSeekBar

MohammedAlaaMorsi / RangeSeekBar

Licence: Apache-2.0 license
Android Range Seekbar library that support Min & Max Value for API level >= 16 and support Step Value

Programming Languages

kotlin
9241 projects
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to RangeSeekBar

Android Slidr
Another android slider / seekbar, but different :-)
Stars: ✭ 326 (+236.08%)
Mutual labels:  seekbar, range
andColorPicker
Color picker library for Android
Stars: ✭ 233 (+140.21%)
Mutual labels:  seekbar, seekbar-android
Rangeseekbar
A beautiful and powerful SeekBar what supports single、 range、steps、vetical、custom( 一款美观强大的支持单向、双向范围选择、分步、垂直、高度自定义的SeekBar)
Stars: ✭ 2,037 (+2000%)
Mutual labels:  seekbar, range
react-native-range-slider
A high-quality, cross platform, native iOS range slider for react native. A slider, similar in style to UISlider, but which allows you to pick a minimum and maximum range; inspired by react-native-range-slider
Stars: ✭ 46 (-52.58%)
Mutual labels:  seekbar, seekbar-android
TimeRangePicker
A customizable, easy-to-use, and functional circular time range picker library for Android. Use this library to mimic Apple's iOS or Samsung's bedtime picker.
Stars: ✭ 266 (+174.23%)
Mutual labels:  range
Waveformseekbar
Android Waveform SeekBar library
Stars: ✭ 120 (+23.71%)
Mutual labels:  seekbar
Kotlin Playground
Kotlin practice
Stars: ✭ 111 (+14.43%)
Mutual labels:  seekbar
Gaugeseekbar
Stars: ✭ 87 (-10.31%)
Mutual labels:  seekbar
BeechatNetwork
Open source, peer-to-peer, radio communication messaging.
Stars: ✭ 37 (-61.86%)
Mutual labels:  range
Chocobo-Date-Range-Picker
🗓️ Component - The Date Range Picker easier to use in AngularJS.
Stars: ✭ 23 (-76.29%)
Mutual labels:  range
Colorseekbar
A colorful SeekBar for picking color
Stars: ✭ 249 (+156.7%)
Mutual labels:  seekbar
Protractorview
A semicircular seekbar view for selecting angle from 0° to 180° ✨
Stars: ✭ 204 (+110.31%)
Mutual labels:  seekbar
Boxedverticalseekbar
A vertical seekbar for Android
Stars: ✭ 133 (+37.11%)
Mutual labels:  seekbar
http-range
A PHP library for parsing and handling HTTP range requests.
Stars: ✭ 30 (-69.07%)
Mutual labels:  range
Arcseekbar
🎡 ArcSeekBar 一个弧形可拖动进度条控件。弧形大小,弧度,颜色渐变等配置完全可定制化
Stars: ✭ 115 (+18.56%)
Mutual labels:  seekbar
SeekBarWithIntervals
No description or website provided.
Stars: ✭ 53 (-45.36%)
Mutual labels:  seekbar
Hueseekbar
Yet another android seekbar inspired from Philips Hue app
Stars: ✭ 100 (+3.09%)
Mutual labels:  seekbar
Tickseekbar
This is a custom SeekBar library on Android.
Stars: ✭ 155 (+59.79%)
Mutual labels:  seekbar
Bezierseekbar
Beautiful custom View, SeekBar selector, easy to use, and rich in customization.漂亮的区间选择器,贝塞尔曲线优雅实现
Stars: ✭ 252 (+159.79%)
Mutual labels:  seekbar
react-native-date-ranges
idea from react-native-dates >
Stars: ✭ 68 (-29.9%)
Mutual labels:  range

RangeSeekBar

Android Range Seekbar library License
Android Arsenal

Usage

For a working implementation of this project see the app/ folder.

Step 1

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

allprojects {
		repositories {
			maven { url 'https://jitpack.io' }
		}
     
}

Step 2

Include the library as a local library project or add the dependency in your build.gradle.

dependencies {
    implementation 'com.github.MohammedAlaaMorsi:RangeSeekBar:1.0.6'
}

Step 3

Add the following xml to your layout file.

RangeSeekBarView

<com.mohammedalaa.seekbar.RangeSeekBarView
        android:id="@+id/range_seekbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:barHeight="15dp"
        app:baseColor="@color/navy"
        app:circleFillColor="@color/green"
        app:circleRadius="15dp"
        app:circleTextColor="@color/white"
        app:circleTextSize="@dimen/value_bar_circleTextSize"
        app:currentValue="60"
        app:fillColor="@color/red"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:maxValue="150"
        app:minValue="15"
        app:orientation="LEFT_TO_RIGHT"
        app:stepValue="5" />

DoubleValueSeekBarView

  <com.mohammedalaa.seekbar.DoubleValueSeekBarView
          android:id="@+id/double_range_seekbar"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          app:layout_constraintEnd_toEndOf="parent"
          app:layout_constraintStart_toStartOf="parent"
          app:r2CurrentMaxValue="140"
          app:r2CurrentMinValue="30"
          app:r2barHeight="15dp"
          app:r2baseColor="@color/navy"
          app:r2circleFillColor="@color/green"
          app:r2circleRadius="15dp"
          app:r2circleTextColor="@color/white"
          app:r2circleTextSize="@dimen/value_bar_circleTextSize"
          app:r2fillColor="@color/red"
          app:r2maxValue="150"
          app:r2maxValueStep="10"
          app:r2minValue="15"
          app:r2minValueStep="5" />

Step 4

Reference the View in Kotlin code.

RangeSeekBarView

  • Kotlin
val rangeSeekbar = findViewById<RangeSeekBarView>(R.id.range_seekbar)
  • Java
RangeSeekBarView rangeSeekbar=findViewById(R.id.range_seekbar);

DoubleValueSeekBarView

  • Kotlin
val doubleValueRangeSeekbar = findViewById<DoubleRangeSeekBarView>(R.id.double_range_seekbar)
  • Java
DoubleRangeSeekBarView doubleValueRangeSeekbar = findViewById(R.id.double_range_seekbar)

Add Animation.

RangeSeekBarView

rangeSeekbar.setAnimated(true,3000L);

Set Value

RangeSeekBarView

  • Kotlin
rangeSeekbar.currentValue=50
  • Java
rangeSeekbar.setCurrentValue(50)

DoubleValueSeekBarView

  • Kotlin
doubleValueSeekBarView.currentMinValue=50
doubleValueSeekBarView.currentMaxValue=140
  • Java
doubleValueSeekBarView.setCurrentMinValue(50)
doubleValueSeekBarView.setCurrentMaxValue(140)

Get Value

RangeSeekBarView

  • Kotlin
rangeSeekbar.currentValue
  • Java
rangeSeekbar.getCurrentValue()

DoubleValueSeekBarView

  • Kotlin
doubleValueSeekBarView.currentMinValue
doubleValueSeekBarView.currentMaxValue
  • Java
doubleValueSeekBarView.getCurrentMinValue()
doubleValueSeekBarView.getCurrentMaxValue()

Add SeekChangeListener

RangeSeekBarView

  • Kotlin
rangeSeekBarView.setOnRangeSeekBarViewChangeListener(object : OnRangeSeekBarChangeListener {
            override fun onProgressChanged(seekBar: RangeSeekBarView?, progress: Int, fromUser: Boolean) {

            }

            override fun onStartTrackingTouch(seekBar: RangeSeekBarView?) {

            }

            override fun onStopTrackingTouch(seekBar: RangeSeekBarView?) {

            }

        })
  • Java
rangeSeekBarView.setOnRangeSeekBarViewChangeListener(new OnRangeSeekBarChangeListener() {
            @Override
            public void onProgressChanged(@Nullable RangeSeekBarView seekBar, int progress, boolean fromUser) {

            }

            @Override
            public void onStartTrackingTouch(@Nullable RangeSeekBarView seekBar, int progress) {

            }

            @Override
            public void onStopTrackingTouch(@Nullable RangeSeekBarView seekBar, int progress) {

            }
        });

DoubleValueSeekBarView

  • Kotlin
doubleValueSeekBarView.setOnRangeSeekBarViewChangeListener(object : OnDoubleValueSeekBarChangeListener {
                override fun onValueChanged(seekBar: DoubleValueSeekBarView?, min: Int, max: Int, fromUser: Boolean) {
                }

                override fun onStartTrackingTouch(seekBar: DoubleValueSeekBarView?, min: Int, max: Int) {
                }

                override fun onStopTrackingTouch(seekBar: DoubleValueSeekBarView?, min: Int, max: Int) {
                }
            })
  • Java
doubleValueSeekBarView.setOnRangeSeekBarViewChangeListener(new OnDoubleValueSeekBarChangeListener() {
            @Override
            public void onValueChanged(@Nullable DoubleValueSeekBarView seekBar, int min, int max, boolean fromUser) {

            }

            @Override
            public void onStartTrackingTouch(@Nullable DoubleValueSeekBarView seekBar, int min, int max) {

            }

            @Override
            public void onStopTrackingTouch(@Nullable DoubleValueSeekBarView seekBar, int min, int max) {

            }
        });

CHANGELOG

See CHANGELOG for detailed list of changes

License

Copyright 2019 Mohammed Alaa
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].