我有一个简单的活动,我正在使用它来转换composeView
到Bitmap
。
然而,当我运行下面的myBitmap
是空白的,并没有显示“你好”的文本组合。
我怎样才能让下面的composeView
转换为位图?
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val widthPx = 200
val heightPx = 120
val composeView = ComposeView(applicationContext)
composeView.setContent {
Text(
text = "Hello",
color = Color.Black,
fontSize = 14.sp,
modifier = Modifier
.wrapContentSize()
.background(Color.Green)
)
}
val myBitmap: Bitmap = Bitmap.createBitmap(widthPx,heightPx,Bitmap.Config.ARGB_8888)
val myCanvas = Canvas(myBitmap)
composeView.draw(myCanvas)
val result = myBitmap /*<--- result is blank bitmap*/
}
}
2条答案
按热度按时间km0tfn4u1#
你必须等到视图布置好
取自https://proandroiddev.com/create-bitmaps-from-jetpack-composables-bdb2c95db51
pw9qyyiw2#
您缺少此代码:
setContentView(composeView)