我成功地在图像可组合项上使用线圈显示动画 webp。
然而,我的目标是只运行这个动画 webp 一次。
现在它无限重复。
有办法吗?
是我的代码。
class MainActivity : ComponentActivity() {
val resourceAnimated =
"https://www.bandisoft.com/honeycam/help/file_format/sample.webp"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MaterialTheme {
// A surface container using the 'background' color from the theme
Surface(color = MaterialTheme.colors.background) {
MyApp()
}
}
}
}
@Composable
private fun MyApp() {
val imageLoader = ImageLoader.Builder(this)
.components {
if (SDK_INT >= 28) {
add(ImageDecoderDecoder.Factory())
} else {
add(GifDecoder.Factory())
}
}
.build()
val painter = rememberAsyncImagePainter(
model = resourceAnimated,
imageLoader = imageLoader,
)
Test(painter)
}
@Composable
private fun Test(painter: AsyncImagePainter) {
Box(modifier = Modifier.padding(16.dp)) {
Image(
painter = painter, contentDescription = null,
modifier = Modifier.fillMaxSize()
)
}
}
您只能为卷绕的 webp 制作一次动画。
使用此扩展功能
Image(painter = rememberAsyncImagePainter(ImageRequest.Builder(LocalContext.current)
.data(data= "your image url")
.repeatCount(0)
.build())
)