Function

consume

Helper function to consume parts of TransferableContent in Android by splitting it to ClipData.Item parts.

ReceiveContentBasicSample

@OptIn(ExperimentalFoundationApi::class)
@Sampled
@Composable
fun ReceiveContentBasicSample() {
    val state = rememberTextFieldState()
    var images by remember { mutableStateOf<List<ImageBitmap>>(emptyList()) }
    Column {
        Row { images.forEach { Image(bitmap = it, contentDescription = null) } }
        BasicTextField(
            state = state,
            modifier =
                Modifier.contentReceiver { transferableContent ->
                    if (!transferableContent.hasMediaType(MediaType.Image)) {
                        return@contentReceiver transferableContent
                    }
                    val newImages = mutableListOf<ImageBitmap>()
                    transferableContent
                        .consume { item ->
                            // only consume this item if we can read an imageBitmap
                            item.readImageBitmap()?.let {
                                newImages += it
                                true
                            } ?: false
                        }
                        .also { images = newImages }
                },
        )
    }
}
Jetpack Compose beyond MaterialFree components, screens and templates for apps that don’t look like Google’s. Copy them into your app, or let your coding agent add them.Browse for free

Content updated: