Как загрузить картинку через remeber state используя coil?

Рейтинг: 0Ответов: 1Опубликовано: 25.02.2023
val image = remember { --- } ////// 1

Image(
    painter = image,
    contentDescription = null
)

Button(onClick = {
         lifecycleScope.launch {
            val user = api.auth(AuthRequest(username, password))
            val request = ImageRequest.Builder(context)
                                .data(user.image)
                                .build()
            context.imageLoader.execute(request).drawable ///// 2

})
  1. какой тип тут задать?
  2. как тут связать?

Ответы

▲ 0
val bitmap = ImageBitmap.imageResource(id = R.drawable.pikcha)
var image by remember { mutableStateOf(bitmap) }

Image(
            bitmap = image,
            contentDescription = null
)
Button(
            onClick = {
                lifecycleScope.launch(Dispatchers.IO) {
                    val user = api.auth(AuthRequest(username, password))
                  
                    val request = ImageRequest.Builder(context)
                        .data(user.image)
                        .build()
                    val drawable = context.imageLoader.execute(request).drawable

                    image = (drawable as BitmapDrawable).bitmap.asImageBitmap()
                }
            }
        )

Вот так получилось. Как через rememberAsyncImagePainter() делать так и не понял