我知道如何通过代码(http://www.androidhive.info/2017/02/android-working-svg-vector-drawables/)使用 ImageView 显示矢量可绘制对象
,这在几篇文章中都有描述,但是:
如何使用自定义 View 和使用 canvas 的代码绘制矢量?
这有可能做到吗。如果是这样,有人可以给我一个提示。
最佳答案
In onDraw method
canvas?.drawBitmap(getVectorBitmap(context, R.drawable.ic_icon), 500f, 500f, canvasPaint)
create below method in class
private fun getVectorBitmap(context: Context, drawableId: Int): Bitmap? {
var bitmap: Bitmap? = null
when (val drawable = ContextCompat.getDrawable(context, drawableId)) {
is BitmapDrawable -> {
bitmap = drawable.bitmap
}
is VectorDrawable -> {
bitmap = Bitmap.createBitmap(
drawable.intrinsicWidth,
drawable.intrinsicHeight, Bitmap.Config.ARGB_8888
)
val canvas = Canvas(bitmap)
drawable.setBounds(0, 0, canvas.width, canvas.height)
drawable.draw(canvas)
}
}
return bitmap
}
关于android - 通过在 Canvas 中绘图使用 Vector Drawable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44612353/