Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

com.godaddy.android.colorpicker:compose-color-picker-android

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

com.godaddy.android.colorpicker:compose-color-picker-android

A compose component for picking a color

  • 0.7.0
  • Source
  • Maven
  • Socket score

Version published
Maintainers
1
Source

Android Jetpack Compose Color Picker 🎨

Maven Central

A component that provides two different HSV color pickers, written in Jetpack Compose.

  1. ClassicColorPicker - Square picker with alpha channel
  2. HarmonyColorPicker - Circular wheel with harmony modes (ie complementary, triadic, analogous, shades, monochromatic, tetradic)

https://user-images.githubusercontent.com/9973046/154516879-495a6816-9595-49b9-beaf-dafc2e1110ec.mp4

https://user-images.githubusercontent.com/9973046/154515203-f0818a14-3bb0-4e5a-91fc-f3cac2e2e770.mp4

How to get started

Add the dependency to your build.gradle file:

implementation 'com.godaddy.android.colorpicker:compose-color-picker:<latest-version>'

// with Android ColorInt extensions
implementation 'com.godaddy.android.colorpicker:compose-color-picker-android:<latest-version>'
// desktop jvm version
implementation 'com.godaddy.android.colorpicker:compose-color-picker-jvm:<latest-version>'

Add ClassicColorPicker to your Compose hierarchy:

import com.godaddy.android.colorpicker.HsvColor

Column {
    ClassicColorPicker(
        onColorChanged = { color: HsvColor ->
            // Do something with the color
        }
    )
}

Or add the HarmonyColorPicker to your Compose hierarchy for an HSV color wheel implementation:

 HarmonyColorPicker(
    harmonyMode = harmonyMode.value,
    modifier = Modifier.size(400.dp),
    onColorChanged = { color ->
        currentColor.value = color
        extraColors.value = color.getColors(colorHarmonyMode = harmonyMode.value)
})

The HarmonyColorPicker allows for you to set a certain ColorHarmonyMode on the wheel. This will then display multiple magnifiers on top of the wheel for the different harmony modes: ie complementary, triadic, analogous, shades, monochromatic, tetradic. If you wish to not display other magnifiers - set ColorHarmonyMode.NONE as your harmonyMode on the wheel.

ClassicColorPicker:

Customizing the control

Size

To change the size of the control, pass in the Modifier option:

import com.godaddy.android.colorpicker.HsvColor

ClassicColorPicker(
    modifier = Modifier.height(200.dp),
    onColorChanged = { color: HsvColor ->
        // Do something with the color
    }
)

Alpha

To hide the alpha bar, change the showAlphaBar parameter:

import com.godaddy.android.colorpicker.HsvColor

ClassicColorPicker(
    showAlphaBar = false,
    onColorChanged = { color: HsvColor ->
        // Do something with the color
    }
)

HarmonyColorPicker

Customizing the control

Harmony Mode

To change the harmony mode of the picker, pass in a different mode into the function:

HarmonyColorPicker(
    harmonyMode = ColorHarmonyMode.SHADES,
    modifier = Modifier.size(400.dp),
    onColorChanged = { color ->
               // do stuff with new color
})

Size

To change the size of the control, pass in the Modifier option:

import com.godaddy.android.colorpicker.HsvColor

HarmonyColorPicker(
    modifier = Modifier.height(200.dp),
    onColorChanged = { color: HsvColor ->
        // Do something with the color
    }
)

Library Contribution Information

Code Formatting

This project uses spotless to enforce code formatting. Run ./gradlew spotlessApply to run formatting before committing.

Releases

  1. Update the version number in color-picker/build.gradle.kts
  2. Make a PR into main and get that merged
  3. Run "Deploy to Sonatype" GitHub Action.
  4. Login to Sonatype and "Close" release. After a few minutes, click "Release".
  5. Release should then be available for download on maven (might take like 30 min to propagate).

FAQs

Package last updated on 31 Jan 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc