package org.jetbrains.compose.resources.demo.shared import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.verticalScroll import androidx.compose.material3.CardDefaults import androidx.compose.material3.MaterialTheme import androidx.compose.material3.OutlinedCard import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import org.jetbrains.compose.resources.readResourceBytes @Composable fun FileRes(paddingValues: PaddingValues) { Column( modifier = Modifier.padding(paddingValues) ) { Text( modifier = Modifier.padding(16.dp), text = "File: 'composeRes/images/droid_icon.xml'", style = MaterialTheme.typography.titleLarge ) OutlinedCard( modifier = Modifier.padding(horizontal = 16.dp), shape = RoundedCornerShape(4.dp), colors = CardDefaults.cardColors(containerColor = MaterialTheme.colorScheme.primaryContainer) ) { var bytes by remember { mutableStateOf(ByteArray(0)) } LaunchedEffect(Unit) { bytes = readResourceBytes("composeRes/images/droid_icon.xml") } Text( modifier = Modifier.padding(8.dp).height(200.dp).verticalScroll(rememberScrollState()), text = bytes.decodeToString(), color = MaterialTheme.colorScheme.onPrimaryContainer, softWrap = false ) } Text( modifier = Modifier.padding(16.dp), text = """ var bytes by remember { mutableStateOf(ByteArray(0)) } LaunchedEffect(Unit) { bytes = readBytes("composeRes/images/droid_icon.xml") } Text(bytes.decodeToString()) """.trimIndent() ) } }