我正在尝试使用以前从未失败过的方法从元素中获取位图:
val bitmap = Bitmap.createBitmap(view.width, view.height, Bitmap.Config.ARGB_8888)
val canvas = Canvas(bitmap)
view.measure(View.MeasureSpec.makeMeasureSpec(view.width, View.MeasureSpec.EXACTLY), View.MeasureSpec.makeMeasureSpec(view.height, View.MeasureSpec.EXACTLY))
view.layout(0, 0, view.measuredWidth, view.measuredHeight)
view.draw(canvas)
但现在有些不对劲了。左边是截图,右边是返回的位图。我究竟做错了什么?)
同事 Eugene Krivenja 和 Style-7 让我做出了正确的决定。一切原来很简单,在onDraw中我使用了width.toFloat()和height.toFloat(),并且我需要在onSizeChanged方法中缓存它们的值,问题就解决了!