标签:me layout val overlay bitmap 添加 android viewBitmap view
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)
标签:me,layout,val,overlay,bitmap,添加,android,viewBitmap,view 来源: https://blog.csdn.net/buyaoshitududongwo/article/details/122698731
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。