Android circle seekbar widget inspired from: https://github.com/LarsWerkman/HoloColorPicker

Overview

Android HoloCircleSeekBar

A Circle SeekBar inspired by Android Holo ColorPicker designed by Marie Schweiz and developed by Lars Werkman.

image image

How to integrate in your proyect

Import it on your build.gradle

repositories {
    maven {
	    url "https://jitpack.io"
    }
}

dependencies {
    compile 'com.github.JesusM:HoloCircleSeekBar:v2.2.2'
}

Documentation

To add the widget, you only need to add this to your xml:
<com.jesusm.holocircleseekbar.lib.HoloCircleSeekBar
    android:layout_centerInParent="true"
    android:id="@+id/picker"
    android:layout_width="285dp"
    android:layout_height="290dp"
    app:max="100"
    app:pointer_color="@color/point_color"
    app:pointer_halo_color="@color/point_halo_color"
    app:pointer_size="20dp"
    app:text_color="@color/text_color"
    app:text_size="65sp"
    app:wheel_active_color="@color/wheel_active_color"
    app:wheel_unactive_color="@color/wheel_unactive_color"/>

Don't forget to add this at the root of your View in the xml layout to use the custom attributes:

xmlns:app="http://schemas.android.com/apk/res-auto"

You can change some widget components (text size, wheel color, point color, etc) sith this attrs.

    app:max="100"
    app:pointer_color="#0174DF"
    app:pointer_halo_color="#88252525"
    app:pointer_size="34"
    app:text_color="#FF0000"
    app:text_size="65"
    app:wheel_active_color="#00BFFF"
    app:wheel_unactive_color="#FFCCCCCC" 

To get the value of the circle seekbar

HoloSeekBar picker = (HoloSeekBar) findViewById(R.id.picker);
picker.getValue();

License

 Copyright 2012 Jesús Manzano

 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.

Original by

**Lars Werkman**

Modified By

**Jesús Manzano**
Comments
  • No way to set onStopTrackingTouch listener?

    No way to set onStopTrackingTouch listener?

    Hi. great job with the this seekbar. Just two problems:

    The first one is that is not possible to implement all the methods of OnSeekBar listener, and I really need onStopTrackingTouch. Is there a way?

    The second is that when I set initPosition the text show the right value but the seekbar is way to small then if I drag it to that value.

    Thanks in advance

    opened by IncioMan 5
  • Un-needed attribute

    Un-needed attribute

    It appears that the color attribute defined in "attrs.xml" is not needed and it conflicts with newer versions of the API

        <attr name="color" format="string"></attr>
    
    opened by bizzguy 5
  • Change color programmatically functionality added

    Change color programmatically functionality added

    Hi @JesusM ,

    I made 4 changes

    1. A SeekBar should be able to change colors in code, so I added 5 functions that changes colors for different parts of the view in addition to the view's setBackground(int color) that covers all the parts of the view.

    2. Found some unused allocations, so I removed them

    3. updated the README.md to reflect the changes

    4. updated the sample app to showcase changes

    cheers, Hossam

    opened by hussamsh 4
  • can't run in the backend

    can't run in the backend

    Have you considered about the circumstance when app is running in the backend?

    I happened to find that it would stop calculating seconds when the system changed to be locked.

    opened by MarkShawn2020 3
  • Seekbar not changing

    Seekbar not changing

    Seekbar only working when dragging it from starting. When i stop it in between and try to move pointer again it doesn't work I have to move pointer from the top again and tapping on wheel is also not changing pointer position.

    Using this in xml android:layout_width="wrap_content" android:layout_height="wrap_content" app:max="60" app:pointer_color="#6AFF0D" app:pointer_halo_color="#336AFF0D" app:pointer_size="24" app:text_color="#E8A10C" app:text_size="65" app:wheel_size="8" app:color="#cfcfcf" app:wheel_active_color="#00BFFF" app:wheel_unactive_color="#5500BFFF"

    opened by 29jitender 2
  • Feature Request: sensitive to touch for setting the value

    Feature Request: sensitive to touch for setting the value

    Hi. Thanks for creating this component. To bring it closer to the standard seekbar (in terms of functionality), it would be great to allow user "touch" a point on the circular arc and have the seekbar's knob move to that point. Currently, the only way to change the value manually is to touch the circular knob and drag that; the standard seekbar allows the other interaction as well.

    Thanks Ali

    opened by naddaf 2
  • setValue

    setValue

    Hey... I would like to pull a request to chang your setValue-Method, where the cases newValue = 0 and newValue = max will be handles as following:

    public void setValue(float newValue) { int _newVal = (int)(newValue); if (_newVal <= max && _newVal>=0) { if(_newVal == 0){ arc_finish_radians = start_arc; } else if(_newVal == this.max){ arc_finish_radians = end_wheel -1; } else { float newAngle = (float) (360.0 * (newValue / this.max)); arc_finish_radians = (int) calculateAngleFromRadians(calculateRadiansFromAngle(newAngle)) + 1; } mAngle = calculateAngleFromRadians(arc_finish_radians); setText(String.valueOf(_newVal)); updatePointerPosition(); invalidate(); } }

    opened by ptrdtznr 1
  • setValue Problem

    setValue Problem

    If I set the setMax to 100 and I am trying to set the value to this MaxValue, it doesnt work.

    I think there should be a change in your "setValue" Method that the newValue <= instead of only "<".

    public void setValue(float newValue) { if (newValue < max) { .... }

    Another strange behaviour is, while I am trying to set the value to "0", the text will be set to "1"...

    opened by ptrdtznr 1
  • Maximum value of SeekBar

    Maximum value of SeekBar

    Hello, Thanks for your great widget. It looks awesome. I am just having a problem with setting the max value of the SeekBar programmatically? Is it even possible? Because I really need to make the widget more flexible in my app. Can you suggest something? I would really appreciate your help. P.S.: Hello from a Kazakhstan Android developer!

    opened by AToleuov 1
  • Feature Request: Stop the seekbar at its 100%

    Feature Request: Stop the seekbar at its 100%

    Hi.

    Currently, I can drag the knob and go to 100% and then keep on going; it will start from 0% again; that makes it difficult to set the value to, say, 99% or 100%; it would be great if user could just move the knob around to 100% and then knob would stop there and wouldn't let the user to keep on going. If the current behavior is important to have, then maybe adding an attribute to toggle the behavior.

    Thanks Ali

    opened by naddaf 1
  • Failed to resolve

    Failed to resolve

    Failed to resolve: com.github.JesusM:HoloCircleSeekBar:v2.2.2

    even if i added:

    repositories {
        maven {
    	    url "https://jitpack.io"
        }
    }
    
    opened by Adham32 0
  • SeekBar handle glitchy

    SeekBar handle glitchy

    Looks like its just me but occasionally when I try to drag the handle from the starting position it bugs out and I have to keep trying? This may be happening because of a previous issue you fixed of stopping the progress at 100%.

    opened by jackabe 0
  • Add Step to the Seek Bar

    Add Step to the Seek Bar

    Hi,

    please add "setStep(...)/setIncrement()" method to the HoloCircleSeekBar, so you can increment not only by 1 but for example by 5 or 10 or etc.

    Thanks!

    opened by boriside 2
Releases(v2.2.2)
Owner
Jesus
Software engineer based in Madrid, Spain. Fan of everything about programming and technology. In love with the little green droid and curious about everything.
Jesus
Circular SeekBar view for Android

SeekArc What is a SeekArc? So what the heck is a SeekArc? Essentially it’s a SeekBar that has been wrapped around a circle. It acts like a SeekBar and

Neil Davies 870 Dec 10, 2022
StartPointSeekBar is a custom view for the Android platform that makes it possible to have a SeekBar to have custom start point.

Forked/Inspired from https://code.google.com/p/range-seek-bar/ by [email protected] This solves the problem as described in http://

Gaurav Vashisth 142 Dec 29, 2022
A color picker seekbar for android.

ColorSeekBar A color picker seekbar for android. Download Use Gradle compile 'com.divyanshu.colorseekbar:colorseekbar:1.0.2' or Maven <dependency>

Divyanshu Bhargava 129 Nov 29, 2022
Ranger is custom view which able to act like android seekbar.

Ranger is custom view which able to act like android seekbar.

Enes Zor 3 Oct 17, 2021
A SeekBar suited for showing a preview of something. As seen in Google Play Movies.

PreviewSeekBar A SeekBar suited for showing a video preview. As seen in Google Play Movies Google Play Movies PreviewSeekBar's sample Build Add the fo

Rúben Sousa 3.3k Jan 3, 2023
 A beautiful and powerful SeekBar what supports single、 range、steps、vetical、custom( 一款美观强大的支持单向、双向范围选择、分步、垂直、高度自定义的SeekBar)

文档还是中文好 Demo APK download fir.im Usage Dependencies Release Version allprojects { repositories { ... maven { url 'https://jitpack.io' }

null 2.3k Jan 5, 2023
A seekbar contains two cursor(left and right). Multiple touch supported.

RangeSeekbar A seekbar contains two cursor and support multi-touch. RangeSeekbar have left and right cursors, user can move cursor to make fliter. How

dolphinWang 283 Mar 28, 2022
A colorful SeekBar for picking color

ScreenShot: Attrs attr format default colorSeeds references colorBarPosition integer 0 alphaBarPosition integer 0 maxPosition integer 100 bgColor colo

Jack Fu 324 Dec 26, 2022
Android widget for selecting a range of values.

MaterialRangeBar MaterialRangeBar is a fork from https://github.com/edmodo/range-bar that adds some basic material styling, as well as start and end v

null 1.7k Dec 30, 2022
A simple material-based support library to bring consistent SeekBars on Android 14 and above

SeekBarCompat A support library for the material design SeekBar in Android for API 14 and above. Screenshot On APIs 14 and above - Seekbars would look

Ahmed Rizwan 157 Dec 27, 2022
A circular seek bar for Android

CircularSeekBar A circular seek bar for Android. Modification 1. Modified setProgress(int progress) method. 2. Added hideSeekBar() To hide seekbar. 3.

Raghav Sood 289 Nov 25, 2022
Simple custom Android View providing a Circular spin to SeekBars

CircularSeekBar This is a simple Seek Bar, in the shape of a circle, responsive to the speed of the spin: the faster you spin the control, the faster

Mikel 34 Feb 18, 2022
Custom circular SeekBar (Circle, Semi-circle, and Ellipse) View/Widget for Android

CircularSeekBar Android CircularSeekBar Custom View/Widget This is a custom circular SeekBar. It can be used to create SeekBars that are: -Full Circle

Matt Joseph 462 Dec 19, 2022
Bottom Navigation widget component inspired by the Google Material Design Guidelines at https://www.google.com/design/spec/components/bottom-navigation.html

Material Bottom Navigation Library Lightweight Bottom Navigation library component inspired by the Google Material Design Guidelines at https://www.go

Alessandro Crugnola 1.4k Dec 18, 2022
Circle button widget for Android

DEPRECATED This library is deprecated and no new development is taking place. Consider using a FAB(Floating action button) instead. E.g. the Android D

Markus Hintersteiner 1.5k Dec 9, 2022
A layout that creates a loading-like progress around it's child ( circle ) on touch, inspired from Destiny's ( PS4 ) accept mechanism

HoldToLoadLayout HoldToLoadLayout is a view group that can contain a single child. It draws your child to middle of layout, and performs loading wheel

Melih Aksoy 79 Feb 8, 2022
A simple progress loader inspired by Can you Code this UI? Volume 6! - https://stories.uplabs.com/can-you-code-this-ui-volume-6-7bd09fa6dd92#.nyh2zhpvb

SlidingSquaresLoader Sliding Square Loader - A simple progress loader inspired by Can you Code this UI? Volume 6! Gradle Step 1. Add the JitPack repos

Hamza Fetuga 151 Jul 26, 2022
Wizard Pager is a library that provides an example implementation of a Wizard UI on Android, it's based of Roman Nurik's wizard pager (https://github.com/romannurik/android-wizardpager)

Wizard Pager Wizard Pager is a library that provides an example implementation of a Wizard UI on Android, it's based of Roman Nurik's wizard pager (ht

Julián Suárez 520 Nov 11, 2022
Simple API to perform AES encryption on Android. This is the Android counterpart to the AESCrypt library Ruby and Obj-C (with the same weak security defaults :( ) created by Gurpartap Singh. https://github.com/Gurpartap/aescrypt

AESCrypt-Android Simple API to perform AES encryption on Android with no dependancies. This is the Android counterpart to the AESCrypt library Ruby an

Scott Alexander-Bown 636 Dec 18, 2022
An Android Layout which has a same function like https://github.com/romaonthego/RESideMenu

ResideLayout An Android Layout which has a same function like https://github.com/romaonthego/RESideMenu. Can be used on Android 1.6(I haven't try it.)

Yang Hui 392 Oct 12, 2022