VectorDrawable:如何动态调整vectordrawable的大小

时间:2018-11-02 19:29:47

标签: android android-vectordrawable

我正在使用一个自定义视图,其中有一个矩形,需要在边界之间绘制一个VectorDrawable。 我需要随时调整vectorDrawable的大小。 我已经在使用画布设置外部矩形,因此无法使用位图创建另一个画布。 这就是我在onDraw()里面所做的:

canvas!!.drawRect(mRect, mRadius!!,mRadius!!, mPaint)
vectorDrawable.mutate()
vectorDrawable.setBounds(mRect)
vectorDrawable.draw(canvas)

如果我尝试创建位图并创建新的画布对象:

var bmp = Bitmap.createBitmap(vectorDrawable.getIntrinsicWidth(), 
vectorDrawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888)
var can : Canvas = Canvas(bmp)

然后看不到我的vectorDrawable。

请让我知道调整vectorDrawable大小的最佳方法。

1 个答案:

答案 0 :(得分:0)

VectorDrawable旨在从XML扩展。如果您决定采用这种方式,则ConstraintLayout可能是最佳选择。下面的链接向您展示了如何以1:1或5:4的比例进行操作。

https://blog.stylingandroid.com/dynamic-vectordrawable-sizing/

祝你好运!