This is a lightweight Android library that provides Jetpack Compose @Composable UI to select colors. This open as a bottom sheet in default.
But developers can use individual peaces available in the library as per their requirements.
- Color Picker BottomSheet
- Pick color from RGB-A values
- Pick color from Predefined color grid
- Pick color from HSL-A values (Color spectrum)
Add following in your root build.gradle/build.gradle.kts at the end of repositories:
dependencyResolutionManagement {
	repositories {
		mavenCentral()
		maven { url 'https://jitpack.io' } // jitpack.io repository configured.
	}
}
Add the following dependency to your build.gradle / build.gradle.kts file:
For Groovy - build.gradle:
dependencies {
    implementation 'com.github.KvColorPalette:KvColorPicker-Android:2.1.0'
}
For Kotlin DSL - build.gradle.kts:
dependencies {
    implementation("com.github.KvColorPalette:KvColorPicker-Android:2.1.0")
}
After you integrated the KvColorPicker-Android library, you can consume it as follows.
As a main functionality, consumer can use color picker bottom sheet in there application as follows.
// Create state variable to show and hide bottom sheet
val showSheet = remember { mutableStateOf(false) }
val sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true)
// Button click to open bottom-sheet
Button(
    onClick = {
        sheetState.value = true
    }
) {
    Text("Open Color Picker")
}
// Color Picker bottom sheet UI
if (showSheet.value) {
    KvColorPickerBottomSheet(
        showSheet = showSheet,
        sheetState = sheetState, 
        onColorSelected = { selectedColor -> 
            // Do anything when you have selected color
        }
    )
}
| RGB-A Picker | GRID Picker | HSL-A Picker | 
|---|---|---|
Developer can add the each color picker (RGB-A Picker, Grid Picker and HSL-A Picker) separately in their own UI. Because KvColorPicker-Android
provided.
RGBAColorPicker(
    modifier = Modifier,
    onColorSelected = { selectedColor ->
        // Action with selected color
    }
)
GridColorPicker(
    modifier = Modifier,
    onColorSelected = { selectedColor ->
        // Action with selected color
    }
)
HSLAColorPicker(
    modifier = Modifier,
    onColorSelected = { selectedColor ->
        // Action with selected color
    }
)
We welcome contributions! Please fork the repository, make your changes, and submit a pull request. Ensure your code adheres to the established guidelines.
KvColorPicker-Android is licensed under the MIT License.
For questions, suggestions, or issues, please open an issue on GitHub or contact us at [email protected].