我在我的项目中使用Ambilvarna颜色选择器库,它在较低版本中工作正常,但在我的软糖豆设备中,底部黑色阴影无法正确渲染。我搜索了一个解决方案但这种类型的问题只发生在蜂窝设备中,因为硬件加速,但已经解决了。但同样的修复对我来说并不适用。有什么想法吗?
答案 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);
}
答案 1 :(得分:0)
我已经使用了 android-color-picker 的分支,其中使用了 DialogFragment ,并在配置更改时重新创建。它也可以针对更大的屏幕进行调整,并针对Android API 18级别。这是链接:https://github.com/lomza/android-color-picker;)