Android颜色选择器透明问题

时间:2015-11-18 08:08:00

标签: android transparent color-picker

我试图在Notes中添加颜色选择器中的颜色并且效果很好..但是如果没有从颜色选择器中选择颜色,它会直接将透明颜色应用于注释...使注释无法看到。如下图所示(注释图像链接)。

image

代码:

private void setColor() {
    colorcalendar = ColorPickerDialog.newInstance(
            R.string.color_picker_default_title,
            colorChoice(this),
            selectedColor,
            5,
            isTablet(this)? ColorPickerDialog.SIZE_LARGE : ColorPickerDialog.SIZE_XSMALL);
        colorcalendar.setOnColorSelectedListener(new ColorPickerSwatch.OnColorSelectedListener() {
        @Override
        public void onColorSelected(int color) {
            selectedColor = color;
        }
    });
    i = colorcalendar.getSelectedColor();
    colorcalendar.show(getFragmentManager(), "cal");
}

public static int[] colorChoice(Context context){

    int[] mColorChoices=null;
    String[] color_array = context.getResources().getStringArray(R.array.default_color_choice_values);

    if (color_array!=null && color_array.length>0) {
        mColorChoices = new int[color_array.length];
        for (int i = 0; i < color_array.length; i++) {
            mColorChoices[i] = Color.parseColor(color_array[i]);
        }
    }
    return mColorChoices;
}

如果用户从拾色器中选择了没有颜色,是否有任何设置默认颜色的选项?

2 个答案:

答案 0 :(得分:1)

您必须使用任何颜色初始化selectedColor变量。

答案 1 :(得分:0)

如何在ColorPickerDialog.OnColorChangedListener中检查颜色是否透明:

@Override
public void colorChanged(int color) {
    if (color == Color.TRANSPARENT)
        // set default color
        mColor = Color.BLUE;
    else mColor = color;
}

这可能有所帮助:http://android.okhelp.cz/color-picker-dialog-android-example/