一款标准的Android颜色选择器,使用HSV和透明度选择颜色。
dependencies { implementation 'com.github.duanhong169:colorpicker:${latestVersion}' ... }
${latestVersion}请替换为当前最新版本号,见 releases.
ColorPickerPopup
new ColorPickerPopup.Builder(this) .initialColor(Color.RED) // Set initial color .enableAlpha(true) // Enable alpha slider or not .okTitle("Choose") .cancelTitle("Cancel") .showIndicator(true) .showValue(true) .build() .show(v, new ColorPickerPopup.ColorPickerObserver() { @Override public void onColorPicked(int color) { v.setBackgroundColor(color); } @Override public void onColor(int color, boolean fromUser) { } });
ColorPickerView
将 ColorPickerView 添加到 layout xml :
top.defaults.view.ColorPickerView android:id="@+id/colorPicker" android:layout_width="0dp" android:layout_height="wrap_content" app:enableAlpha="true" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent"/
查阅 top_defaults_view_color_picker_attrs.xml 了解所有支持的属性。
top_defaults_view_color_picker_attrs.xml
执行 ColorObserver 并订阅 ColorPickerView以从 ColorPickerView 接收颜色更新:
ColorObserver
colorPickerView.subscribe((color, fromUser) -> { // use the color });
设置初始颜色:
colorPickerView.setInitialColor(0x7F313C93);
重置初始颜色:
colorPickerView.reset();
更详细的使用方法请参见示例。