Android75
10/01/2022, 2:45 PMdata class ImageTransitionData(
var imageList: List<Image> = emptyList()
)
data class Image(var src: Bitmap?, var alpha: Float = 0f)
// screen
var pageState = viewModel.uiState.collectAsState().value
pageState.imageList.forEach { image ->
Box(
modifier = Modifier.fillMaxSize(),
contentAlignment = Alignment.Center
) {
BitmapImage2(
image.src, image.alpha
)
}
}
@Composable
fun BitmapImage2(image: Bitmap?, alpha:Float) {
val imageBitmap = remember {
mutableStateOf<ImageBitmap?>(null)
}
image?.apply {
imageBitmap.value = this.asImageBitmap()
}
imageBitmap.value?.let {
Image(
modifier = Modifier.fillMaxSize(),
bitmap = it,
contentDescription = "",
contentScale = ContentScale.Fit,
alpha = alpha
)
}
Log.d("touch", "TOUCH ${ alpha}")
}
Ok this works.. screen shows first image in alpha 1f
i want change first image alpha… so…
private fun setPercentage(percentage: Float) {
if(percentage >=0){
var image = uiState.value.imageList.toMutableList()
image.get(0).alpha = percentage /100
uiState.value = uiState.value.copy(
imageList= image.toList()
)
Log.d("touch", "TOUCH ${image.map { "Alpha:${it.alpha} - " }}")
}
}
it’s strange , i changed array but i dont’see recompositionAndroid75
10/01/2022, 3:01 PMZach Klippenstein (he/him) [MOD]
10/04/2022, 10:15 AMZach Klippenstein (he/him) [MOD]
10/04/2022, 10:26 AMimage?.asImageBitmap()?.let { Image(…) }