Android Color Picker Прозрачный выпуск

Я пытаюсь добавить цвета из палитры цветов в заметки, и она работает отлично. Но если в палитре цветов не выбран цвет, он напрямую применяет прозрачный цвет к заметке... делая заметку невидимой. Как на изображении, приведенном ниже (примечания ссылка на изображение).

образ

Код:

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 ответа

Вы должны инициализировать переменную selectedColor любым цветом.

Как насчет проверить, является ли цвет прозрачным или нет в 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/

Другие вопросы по тегам