У меня есть сотни файлов png в папке с ресурсами, и я хочу загрузить их в компонуемый Image
. Но то, что я могу использовать только изображения в папке с возможностью рисования.
как загрузить изображения из активов в Image
?
Пример:
var bitmapState by remember{ mutableStateOf<Bitmap?>(null) }
val context = LocalContext.current
LaunchedEffect(Unit) {
bitmapState = BitmapFactory.decodeStream(context.assets.open("assetsImage.png"))
}
if (null != bitmapState) {
val bitmap = bitmapState!!.asImageBitmap()
Image(
bitmap = bitmap,
"assetsImage",
modifier = Modifier.fillMaxSize(),
colorFilter = null
)
}
Решение @Halifax работает, но у меня есть некоторые проблемы с производительностью. с помощью Coil это намного более плавно и чисто.
в build.gradle(:приложение):
implementation("io.coil-kt:coil-compose:2.2.2")
а потом:
AsyncImage(
model = "file:///android_asset/images_folder/image.png",
contentDescription = "",
)