You can get colors from your gallery pictures or custom images just using touch with multi-selectors.
repositories {
mavenCentral() // or jcenter() works as well
}
dependencies {
implementation "com.github.skydoves:multicolorpicker:1.0.8"
}
<dependency>
<groupId>com.github.skydoves</groupId>
<artifactId>multicolorpicker</artifactId>
<version>1.0.8</version>
</dependency>
You can use like using just ImageView and you can get colors from any images.
First add below XML Namespace inside your XML layout file.
xmlns:app="http://schemas.android.com/apk/res-auto"
<com.skydoves.multicolorpicker.MultiColorPickerView
android:id="@+id/multiColorPickerView"
android:layout_width="300dp"
android:layout_height="300dp"
app:palette="@drawable/palette"/>
app:palette="@drawable/palette" // set palette image
multiColorPickerView.addSelector(selectorDrawable, new ColorListener() {
@Override
public void onColorSelected(ColorEnvelope envelope) {
int color = envelope.getColor();
int[] rgb = envelope.getRgb();
String htmlCode = envelope.getHtmlCode();
// TODO
}
});
Methods | Return | Description |
---|---|---|
addSelector(Drawable drawable, ColorListener listener) | Selector | adds a Selector and returning it |
setPaletteDrawable(Drawable drawable) | void | changes palette's drawable |
getMixedColor(Float ratio(0~1)) | void | returns mixed color from selectors seleted color |
setSelectedAlpha(Float ratio(0~1) | void | sets active selector's alpha |
getSelectorsSize() | int | returns selectors size |
setFlagView(FlagView flagView) | void | sets a FlagView on colorpicker |
setFlagMode(FlagMode flagmode) | void | sets FlagMode(Always, Last, None) |
setFlagFlipable(boolean flipable) | void | sets flag's flip-able when flag go over top boundary |
Methods | Return | Description |
---|---|---|
getX() | int | returns selector's X axis |
getY() | int | returns selector's Y axis |
getColor() | int | returns the selector's selected color |
getColorHtml() | String | returns the selector's selected color html code |
getColorRGB() | int[3] | returns the selector's selected color rgb array |
onMove(int x, int y) | void | moves the selector's point |
onMoveCenter() | void | moves the selector's point to center |
onSelect() | void | selects point at selector's position (used with onMove()) |
onSelect(int x, int y) | void | moves and selects point |
Copyright 2017 skydoves
Licensed 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 at
http://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.