Android颜色选择器库无法正确渲染

时间:2013-05-30 07:41:42

标签: android android-library color-picker

我在我的项目中使用Ambilvarna颜色选择器库,它在较低版本中工作正常,但在我的软糖豆设备中,底部黑色阴影无法正确渲染。我搜索了一个解决方案但这种类型的问题只发生在蜂窝设备中,因为硬件加速,但已经解决了。但同样的修复对我来说并不适用。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

我遇到了与tat库相同的问题,但我对AmbilWarnaKotak类的onDraw方法做了一点改动后,它工作正常

@Override 
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    int w = canvas.getWidth(), h = canvas.getHeight();

    Bitmap.Config conf = Bitmap.Config.ARGB_8888; // see other conf types

    Bitmap bmp = Bitmap.createBitmap(w, h, conf); 
    Canvas canvas2=new Canvas(bmp);
    if (paint == null) {
        paint = new Paint();
        luar = new LinearGradient(0.f, 0.f, 0.f, this.getMeasuredHeight(), 0xffffffff, 0xff000000, TileMode.CLAMP);
    }

    int rgb = Color.HSVToColor(color);
    Shader dalam = new LinearGradient(0.f, 0.f, this.getMeasuredWidth(), 0.f, 0xffffffff, rgb, TileMode.CLAMP);
    ComposeShader shader = new ComposeShader(luar, dalam, PorterDuff.Mode.MULTIPLY);
    paint.setAntiAlias(true);
    paint.setShader(shader);
    canvas2.drawRect(0.f, 0.f, this.getMeasuredWidth(), this.getMeasuredHeight(), paint);
    canvas.drawBitmap(bmp, 0, 0, paint);

}

enter image description here

答案 1 :(得分:0)

我已经使用了 android-color-picker 的分支,其中使用了 DialogFragment ,并在配置更改时重新创建。它也可以针对更大的屏幕进行调整,并针对Android API 18级别。这是链接:https://github.com/lomza/android-color-picker;)