Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/side-codes/Android-Color-Picker
Color picker library for Android
https://github.com/side-codes/Android-Color-Picker
amdroidx android android-colors android-library android-ui android-view cmyk color-picker colorpicker colorpickerview hsl kotlin kotlin-android lab material-design rgb seekbar seekbar-android ui view
Last synced: 3 months ago
JSON representation
Color picker library for Android
- Host: GitHub
- URL: https://github.com/side-codes/Android-Color-Picker
- Owner: side-codes
- License: apache-2.0
- Created: 2020-02-26T00:26:33.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-26T02:02:00.000Z (about 2 years ago)
- Last Synced: 2024-11-04T22:53:32.719Z (3 months ago)
- Topics: amdroidx, android, android-colors, android-library, android-ui, android-view, cmyk, color-picker, colorpicker, colorpickerview, hsl, kotlin, kotlin-android, lab, material-design, rgb, seekbar, seekbar-android, ui, view
- Language: Kotlin
- Homepage: https://side-codes.github.io/andColorPicker/
- Size: 1.1 MB
- Stars: 321
- Watchers: 7
- Forks: 21
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-list - side-codes/Android-Color-Picker - Color picker library for Android (Kotlin)
README
# andColorPicker — Color Picker library for Android
:avocado: Handy, :snake: flexible, and :zap: lightning-fast Android color picker views and utilities.
![andColorPicker logo](https://github.com/side-codes/andColorPicker/raw/master/github/logo.png)
## :pill: Features
- Clean, easy-to-use components and API
- High performance
- Material styling in mind
- Standard Android SDK view family
- Wide color models support
- Tooling and utilities
- Alpha channel support
- Cutting edge tech stack
- Active development and support## :hammer: Setup
Gradle dependency:
```gradle
implementation "codes.side:andcolorpicker:0.6.2"
```## :art: Picker types
### HSL (hue, saturation, lightness)
- *Add color model description*
![](https://github.com/side-codes/andColorPicker/raw/master/github/seek_bar_hsl_pure.png)
#### Layout XML Snippet
Basic HSL components:
```xml```
Supported `hslMode` values:
- `hue` (default)
- `saturation`
- `lightness`Supported `hslColoringMode` values:
- `pure` (default)
- `output`Alpha component:
```xml```
#### Kotlin Snippet
```kotlin
// Configure color model programmatically
hueSeekBar.mode = Mode.MODE_HUE // Mode.MODE_SATURATION, Mode.MODE_LIGHTNESS// Configure coloring mode programmatically
hueSeekBar.coloringMode = ColoringMode.PURE_COLOR // ColoringMode.OUTPUT_COLOR// Group pickers with PickerGroup to automatically synchronize color across them
val group = PickerGroup().also {
it.registerPickers(
hueSeekBar,
saturationSeekBar,
lightnessSeekBar,
alphaSeekBar
)
}// Get current color immediately
Log.d(
TAG,
"Current color is ${hueSeekBar.pickedColor}"
)// Listen individual pickers or groups for changes
group.addListener(
object : HSLColorPickerSeekBar.DefaultOnColorPickListener() {
override fun onColorChanged(
picker: ColorSeekBar,
color: IntegerHSLColor,
value: Int
) {
Log.d(
TAG,
"$color picked"
)
swatchView.setSwatchColor(
color
)
}
}
)// Set desired color programmatically
group.setColor(
IntegerHSLColor().also {
it.setFromColorInt(
Color.rgb(
28,
84,
187
)
)
}
)// Set color components programmatically
hueSeekBar.progress = 50
```### RGB (red, green, blue)
![](https://github.com/side-codes/andColorPicker/raw/master/github/seek_bar_rgb_pure.png)
#### Properties
- View name: ```RGBColorPickerSeekBar```
- ```app:rgbMode``` for RGB component selection### LAB
![](https://github.com/side-codes/andColorPicker/raw/master/github/seek_bar_lab_output.png)
#### Properties
- View name: ```LABColorPickerSeekBar```
- ```app:labMode``` for LAB component selection### CMYK (cyan, magenta, yellow, key)
![](https://github.com/side-codes/andColorPicker/raw/master/github/seek_bar_cmyk_pure.png)
#### Properties
- View name: ```CMYKColorPickerSeekBar```
- ```app:cmykMode``` for CMYK component selection
- ```app:cmykColoringMode``` for coloring mode selectionSupported `cmykMode` values:
- `cyan` (default)
- `magenta`
- `yellow`
- `black`Supported `cmykColoringMode` values:
- `pure` (default)
- `output`### Swatches
SwatchView component:
```xml```
#### Kotlin Snippet:
```kotlin
swatchView.setSwatchPatternTint(
Color.LTGRAY
)swatchView.setSwatchColor(
IntegerHSLColor().also {
it.setFromColorInt(
ColorUtils.setAlphaComponent(
Color.MAGENTA,
128
)
)
}
)
```## :memo: License
```
Copyright 2020 Illia AchourLicensed 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 athttp://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.
```