/ColorSeekBar-1

A colorful SeekBar for picking color

Primary LanguageJava

ColorSeekbar

ScreenShot:

Attrs

attr format default
colorSeeds references
colorBarPosition integer 0
alphaBarPosition integer 0
maxPosition integer 100
bgColor color TRANSPARENT
barHeight dimension 2dp
barMargin dimension 5dp
thumbHeight dimension 30dp
showAlphaBar boolean false
isVertical boolean false
disabledColor color Color.GRAY
showThumb boolean true
barRadius dimension 0px

Gradle:

Release API Android Arsenal

Step 1. Add the JitPack repository 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.rtugeek:colorseekbar:1.7.5'

Usage

XML

<com.rtugeek.android.colorseekbar.ColorSeekBar
  android:id="@+id/colorSlider"
  android:layout_width="match_parent"
  app:colorSeeds="@array/material_colors"
  android:layout_height="wrap_content" />

JAVA

colorSeekBar.setMaxPosition(100);
colorSeekBar.setColorSeeds(R.array.material_colors); // material_colors is defalut included in res/color,just use it.
colorSeekBar.setColorBarPosition(10); //0 - maxValue
colorSeekBar.setAlphaBarPosition(10); //0 - 255
colorSeekBar.setShowAlphaBar(true);
colorSeekBar.setBarHeight(5); //5dpi
colorSeekBar.setThumbHeight(30); //30dpi
colorSeekBar.setBarMargin(10); //set the margin between colorBar and alphaBar 10dpi

Listener

colorSeekBar.setOnColorChangeListener(new ColorSeekBar.OnColorChangeListener() {
        @Override
        public void onColorChangeListener(int colorBarPosition, int alphaBarPosition, int color) {
            textView.setTextColor(color);
            //colorSeekBar.getAlphaValue();
        }
});

Vertical Bar

<com.rtugeek.android.colorseekbar.ColorSeekBar
  android:id="@+id/colorSlider"
  android:layout_width="match_parent"
  app:colorSeeds="@array/material_colors"
  app:isVertical="true"
  android:layout_height="wrap_content" />

getColor() issue

Render flow:
1.Activity->onCreate();
2.Activity->onResume();
3.ColorSeekBar->onMeasure();
4.ColorSeekBar->onSizeChanged();
5.ColorSeekBar->init();
6.ColorSeekBar->onMeasure();
7.ColorSeekBar->onDraw();

getColor()/getColors()/getColorIndexPosition() do not work correct until onDraw() method invoked. So, If you want to get color or something else form ColorSeekBar on Activity.onCreate() function, just do:

mColorSeekBar.setOnInitDoneListener(new ColorSeekBar.OnInitDoneListener() {
    @Override` `
    public void done() {
        mColorSeekBar.getColorIndexPosition(mColor);
        //mColorSeekBar.getColors();
        //mColorSeekBar.getColor();
    }
});

Spread the word

License

        DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
                Version 2, December 2004

Copyright (C) 2004 Leon Fu <rtugeek@gmail.com>

Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.

        DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

 0. You just DO WHAT THE FUCK YOU WANT TO.