Android中需要用户选择或自定义一个颜色时,可以使用该开源库,此库界面美观,清新,也很好用,所以推荐使用。
效果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kb4G3UGN-1684468299804)(null)]
有两种模式可选,TYPE_CUSTOM和TYPE_PRESETS,默认两种模式都是允许的。
使用方法
1 gradle中加入 compile 'com.jrummyapps:colorpicker:2.1.6'
2 在fragment或acitivity中使用。
public static final int DIALGE_ID = 0;
private void opeAdvancenDialog() {
int color = colorPickerViewModel.getColor();
//传入的默认color
ColorPickerDialog colorPickerDialog = ColorPickerDialog.newBuilder().setColor(color)
.setDialogTitle(R.string.color_picker)
//设置dialog标题
.setDialogType(ColorPickerDialog.TYPE_CUSTOM)
//设置为自定义模式
.setShowAlphaSlider(true)
//设置有透明度模式,默认没有透明度
.setDialogId(DIALGE_ID)
//设置Id,回调时传回用于判断
.setAllowPresets(false)
//不显示预知模式
.create();
//Buider创建
colorPickerDialog.setColorPickerDialogListener(pickerDialogListener);
//设置回调,用于获取选择的颜色
colorPickerDialog.show(getActivity().getFragmentManager(), "color-picker-dialog");
}
private ColorPickerDialogListener pickerDialogListener = new ColorPickerDialogListener() {
@Override
public void onColorSelected(int dialogId, @ColorInt int color) {
if (dialogId == DIALGE_ID) {
colorPickerViewModel.setColor(color);
}
}
@Override
public void onDialogDismissed(int dialogId) {
}
};