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/