其他分享
首页 > 其他分享> > android – 将GradientDrawable转换为Bitmap

android – 将GradientDrawable转换为Bitmap

作者:互联网

我有以下渐变(动态生成):

    GradientDrawable dynamicDrawable = new GradientDrawable();
    dynamicDrawable.setGradientType(GradientDrawable.LINEAR_GRADIENT);
    dynamicDrawable.setUseLevel(false);
    int colors[] = new int[3];
    colors[0] = Color.parseColor("#711234");
    colors[1] = Color.parseColor("#269869");
    colors[2] = Color.parseColor("#269869");
    dynamicDrawable.setColors(colors);

我想使用onDraw方法在视图中设置drawable.

当我想将Drawable分配给位图时,我使用了转换(BitmapDrawable),但是在这种情况下是不可能的,因为gradientDrawable不能转换为BitmapDrawable.

我对如何解决这个问题有任何想法?

提前致谢

解决方法:

>使用Bitmap.createBitmap()创建可变位图
>使用新的Canvas(位图)基于位图创建画布
>然后在GradientDrawable上调用draw(canvas)

标签:android-bitmap,android,drawable,android-drawable,android-custom-view
来源: https://codeday.me/bug/20191002/1844295.html