Android 拾色器透明问题
Posted
技术标签:
【中文标题】Android 拾色器透明问题【英文标题】:Android Color Picker Transparent Issue 【发布时间】:2015-11-18 08:07:59 【问题描述】:我正在尝试在便笺中从拾色器中添加颜色,效果很好。但是如果没有从拾色器中选择颜色,它会直接将透明颜色应用于便笺。使便笺无法看到。就像下面给出的图片(注释图片链接)。
代码:
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;
如果用户没有从颜色选择器中选择颜色,是否有任何选项可以设置默认颜色?
【问题讨论】:
在您的颜色选择方法中有一个 if 语句,它在选择颜色时运行。 if 之后写一个 else 语句并在那里定义你的默认颜色。我想它应该可以工作 【参考方案1】:你必须用任何颜色初始化 selectedColor 变量。
【讨论】:
如果解决了问题,请点击答案(upvote)旁边的向上箭头。 当我选择颜色然后返回并再次打开该颜色选择器活动时,会选择其他颜色。【参考方案2】:如何在 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/
【讨论】:
以上是关于Android 拾色器透明问题的主要内容,如果未能解决你的问题,请参考以下文章