我有一个GlideImage,它在一个盒子里。在那个盒子里,还有一个带图标的按钮。我希望,当我点击这个按钮时,图像被最大化,并占据整个屏幕,在右下角有一个按钮,可以最小化它。我还想放大它。有人知道我怎么做吗?在Jetpack Compose的当前状态下,这是否可能?
我给你留下了生成Box的代码,包括图像和图标。
提前感谢您的帮助。
@ExperimentalGlideComposeApi
@Composable
fun BuildImage(imageUrl: String) {
Box(
modifier = Modifier
.padding(vertical = 25.dp, horizontal = 25.dp)
.background(
brush = Brush.linearGradient(
listOf(
Color.Gray,
Color.White
)
),
shape = RoundedCornerShape(14.dp)
)
.clip(RoundedCornerShape(14.dp))
) {
GlideImage(
model = imageUrl,
contentDescription = null,
contentScale = ContentScale.FillBounds
)
Box(modifier = Modifier.matchParentSize(), contentAlignment = Alignment.BottomEnd) {
IconButton(
onClick = { /* TO IMPLEMENT */ },
modifier = Modifier
.padding(11.dp)
.background(Color.Blue, RoundedCornerShape(3.dp))
.clip(RoundedCornerShape(3.dp))
.size(52.dp)
) {
Icon(
painter = painterResource(id = R.drawable.maximize),
contentDescription = null,
tint = Color.Unspecified
)
}
}
}
}
1条答案
按热度按时间vnjpjtjt1#
您可以通过以下操作完成此操作:
演示:https://youtu.be/PwPagLi8nEs