1

我在我的项目中使用Ambilvarna颜色选择器库,它在较低版本中运行良好,但在我的果冻豆设备中,底部黑色阴影无法正确渲染。我搜索了一个解决方案,但由于硬件加速,这种类型的问题只发生在蜂窝设备中,但已经解决了。不过,同样的修复方法对我不起作用。有任何想法吗?

4

2 回答 2

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);

}

在此处输入图像描述

于 2013-05-30T07:48:57.490 回答
0

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

于 2013-09-30T16:04:56.523 回答