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 拾色器透明问题的主要内容,如果未能解决你的问题,请参考以下文章

拾色器

WebView加载不出Html5网页的解决方法,android studio 拾色器,ViewPager高度问题

Shader+UGUI仿制Unity拾色器

优动漫PAINT基础系列之拾色器教学

php 拾色器代码 - OceanWP

php 拾色器代码-Astra