1、首先将xml布局(layout)转化为bitmap
fun getViewBitmap(layoutId: Int): Bitmap? {
val view = layoutInflater.inflate(layoutId, null)
val me = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)
view.measure(me, me)
view.layout(0, 0, view.measuredWidth, view.measuredHeight)
view.buildDrawingCache()
return view.drawingCache
}
2、转为drawable后添加,需要注意,必须给drawable设置gravity,bounds跟密度,否则会影响显示效果,红色99就是添加的view,受这三个参数影响
val viewBitmap = getViewBitmap(R.layout.red_oo)
val bitmapDrawable = BitmapDrawable(null, viewBitmap).apply {
setGravity(Gravity.END)
setBounds(0,0,200,100)
viewBitmap?.run {
setTargetDensity(viewBitmap.density)
}
}
findViewById.overlay.add(bitmapDrawable)
最后
以上就是悲凉火车最近收集整理的关于android给view的overlay添加bitmap的全部内容,更多相关android给view内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复