几个答案提到使用GradientDrawable.setDither(true)在Android中绘制平滑渐变。 这对我的代码没有任何影响。 知道我需要改变什么才能在我的动态壁纸中获得漂亮的渐变效果吗?

GradientDrawable gradient = new GradientDrawable(Orientation.TL_BR, colors);
gradient.setGradientType(GradientDrawable.RADIAL_GRADIENT);
gradient.setGradientRadius(canvas.getWidth() * 2);
gradient.setDither(true);
gradient.setGradientCenter(-0.1f, -0.1f);
gradient.setBounds(cb);
gradient.draw(canvas);

#1楼 票数:75 已采纳

看到你有一个Canvas可以使用。 这是一个选择。

private Bitmap makeRadGrad() {
    RadialGradient gradient = new RadialGradient(200, 200, 200, 0xFFFFFFFF,
            0xFF000000, android.graphics.Shader.TileMode.CLAMP);
    Paint p = new Paint();
    p.setDither(true);
    p.setShader(gradient);

    Bitmap bitmap = Bitmap.createBitmap(400, 400, Config.ARGB_8888);
    Canvas c = new Canvas(bitmap);
    c.drawCircle(200, 200, 200, p);

    return bitmap;
}

结果:

结果

  ask by André translate from so

未解决问题?本站智能推荐:

3回复

自定义渐变操作栏背景,不能很好地显示,需要抖动

我使用线性背景(xml形状)作为android 4.0中的操作栏背景。 它显示不好,看起来带状。 如何让它渲染顺畅?
2回复

仅适用于Android 4.0及以上的色带

在运行Android 4.0或4.0.3的模拟器上,我看到了可怕的色带,我似乎无法摆脱它。 在我测试的每个其他Android版本上,渐变看起来很流畅。 我有一个配置为RGBX_8888的SurfaceView,并且渲染画布中不存在条带。 如果我通过在渲染结束时叠加噪声模式来手动抖动图像
2回复

Android视图抖动

从下面的屏幕快照中可以看到,“标题栏”使这些丑陋的带状线条跨越了整个区域,其文字延伸了整个屏幕的整个宽度。 在实际设备上甚至更引人注意。 有什么办法可以解决此问题?
1回复

Android背景出现条纹

我正在尝试使用GradientDrawable设置背景。 一切正常,除了背景出现明显的条纹。 我已经尝试启用抖动功能,但是并没有得到任何改善。 这是一个屏幕截图: 从编码的角度来看,我做到了: 最后,XML文件: activity_main.xml drawa
1回复

《 Farmville 2》中的灯塔光像素网格(三星Note 2)

我在Samsung Note 2上玩了Farmville2。我注意到每个alpha灯都有清晰的网格。 不过,这在iPad Retina上不会发生。 我想知道这是什么原因。 是由于GPU,还是由开发人员完成以节省设备性能? 有人可以解释吗? 如果是为了优化,我也想研究一下它是否也
2回复

Android平滑渐变

在Android的Canvas中绘制一个简单的圆圈。 现在,我需要用一些渐变颜色填充它,但是它们并不是很平滑。 这是我所做的: 结果如下: 我的问题是:是否有某种方法可以生成HQ径向渐变?
1回复

Android画布渐变

我尝试在Android画布上绘制它,但我有疑问... 为什么所有着色器结果都只有白色和黑色? 没有颜色... 如何为两个以上的点(x,y)设置颜色? 在哪里可以找到显示简单组合用法的示例? 码:
1回复

修改Android代码中可绘制形状的渐变

我一直在网上搜索,但还是没有运气。 问题: 应用程序连接到服务器以检索一些颜色,然后将这些颜色分配给应用程序中的各种控件。 我的问题是我想将xml中定义的样式用于Edittext和Button控件,但是如果我设置控件的背景色,它将删除我的任何预定义样式。 我有一个可绘制的