小编waq*_*qas的帖子

以编程方式将边框/描边设置为 Vector Drawable

我可以以编程方式更改矢量可绘制对象的颜色,但我想将笔触应用于矢量可绘制对象。我需要一种在运行时更改矢量可绘制笔划的方法:

在此处输入图片说明

以前我使用过这种方法,但在我的情况下失败了。

我将 Vector drawable 转换为位图,然后使用此函数应用边框,但它全部用黑色填充,未应用笔划。

  private static Bitmap getBitmap(VectorDrawable vectorDrawable)
    {
        Bitmap bitmap = Bitmap.createBitmap(vectorDrawable.getIntrinsicWidth(),
        vectorDrawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(bitmap);
        vectorDrawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
        vectorDrawable.draw(canvas);
        return bitmap;
    }
    private static Bitmap getBitmap(Context context, int drawableId)
    {

        Drawable drawable = ContextCompat.getDrawable(context, drawableId);
        if (drawable instanceof BitmapDrawable)
        {
            return ((BitmapDrawable) drawable).getBitmap();
        }
        else if (drawable instanceof VectorDrawable)
        {
            return getBitmap((VectorDrawable) drawable);
        }
        else
        {
            throw new IllegalArgumentException("unsupported drawable type");
        }
    }
private Bitmap addWhiteBorder(Bitmap bmp, int borderSize)
    {
        Bitmap …
Run Code Online (Sandbox Code Playgroud)

android vector-graphics stroke android-vectordrawable

5
推荐指数
1
解决办法
4164
查看次数