android-color-picker

Additional

Language
Java
Version
N/A
Created
Jan 12, 2015
Updated
Jan 13, 2019 (Retired)
Owner
Randy Sugianto (Yuku) (yukuku)
Contributors
Denis Kniazhev (denisk20)
Randy Sugianto (Yuku) (yukuku)
Tri Joko Prabowo (bowotmf)
3
Activity
Badge
Generate
Download
Source code

Android Color Picker

aka AmbilWarna library ("Pick a Color" in Indonesian)

moved from http://code.google.com/p/yuku-android-util/

This is a small library for your application to enable the users to select an arbitrary color. It is used in the free Bible applications for Android (http://www.bibleforandroid.com).

It is also used by:

If your application has a feature to customize the color of some background, text, or maybe for a painting application where the user can select different colors for painting or filling, then AmbilWarna is suitable for you.

Adding it to your project

Android Studio 3.0 and above:

dependencies {
    implementation 'com.github.yukuku:ambilwarna:2.0.1'
}

Android Studio 2.3.* and lower:

dependencies {
    compile 'com.github.yukuku:ambilwarna:2.0.1'
}

Screenshots

How to use the dialog

Create a color picker dialog by calling the following constructor, and then show it.

AmbilWarnaDialog(Context context, int color, OnAmbilWarnaListener listener)

Alpha is also supported by passing the 3rd parameter supportsAlpha:

AmbilWarnaDialog(Context context, int color, boolean supportsAlpha, OnAmbilWarnaListener listener)

Example:

// initialColor is the initially-selected color to be shown in the rectangle on the left of the arrow.
// for example, 0xff000000 is black, 0xff0000ff is blue. Please be aware of the initial 0xff which is the alpha.
AmbilWarnaDialog dialog = new AmbilWarnaDialog(this, initialColor, new OnAmbilWarnaListener() {
 @Override
 public void onOk(AmbilWarnaDialog dialog, int color) {
  // color is the color selected by the user.
 }
  
 @Override
 public void onCancel(AmbilWarnaDialog dialog) {
  // cancel was selected by the user
 }

dialog.show();

How to use it as a Preference

Very simple. It works like a DialogPreference that stores an Integer to the shared preferences file.

Just add the following to the preferences xml file.

<yuku.ambilwarna.widget.AmbilWarnaPreference
 android:key="your_preference_key"
 android:defaultValue="0xff6699cc" 
 android:title="Pick a color" />

To enable alpha, use the application attribute supportsAlpha, as follows:

<PreferenceScreen
 xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:app="http://schemas.android.com/apk/res-auto">
 
 <yuku.ambilwarna.widget.AmbilWarnaPreference
  android:key="your_preference_key"
  android:defaultValue="0xff6699cc" 
  app:supportsAlpha="true"
  android:title="Pick a color with alpha" />
</PreferenceScreen>

Contributors

  • Pascal Cans (noobs.com)
  • Justin Warner (One Rainboot Studio)
  • Logo design by anaufalm