ContentScale.FillWidth is not working Jetpack Compose(Content Scale.FillWidth不工作Jetpack Compose)
本文介绍了Content Scale.FillWidth不工作Jetpack Compose的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试制作一个Composable,我可以通过使用
传递任何大小的图像来填充其宽度来使用它compose_version = 1.0.0-beta07
@Composable
fun image(image:Int){
Image(painter = painterResource(image),
contentDescriptionn = null, contentScale = ContentScale.FillWidth)
}
当我经过其他图像时,它工作正常,但当我经过宽度和高度相同的图像时,它不工作
如何修复此问题?
推荐答案
根据需要尝试传递与大小相关的修饰符,如Modifier.fillMaxWidth()
、Modifier.width(100.dp)
、Modifier.size(24.dp)
。如果需要正方形图像,则添加Modifier.aspectRatio(1f)
。
@Composable
fun Image(modifier: Modifier = Modifier, @DrawableRes image: Int){
Image(
modifier = modifier,
painter = painterResource(image),
contentDescription = null,
contentScale = ContentScale.FillWidth)
}
Image(Modifier.fillMaxWidth(), image = R.drawable.sq1)
如果图像始终需要填充全部可用宽度,则
@Composable
fun Image(modifier: Modifier = Modifier, @DrawableRes image: Int){
Image(
modifier = modifier.fillMaxWidth(),
painter = painterResource(image),
contentDescription = null,
contentScale = ContentScale.FillWidth)
}
Image(image = R.drawable.sq1)
更新:矩形图像澄清
@Composable
fun Image(modifier: Modifier = Modifier, @DrawableRes image: Int){
Image(
modifier = modifier.fillMaxWidth().aspectRatio(1f),
painter = painterResource(image),
contentDescription = null,
contentScale = ContentScale.FillWidth)
}
对于给定的可用宽度,将使用长宽比计算可合成图像的高度。因此,可合成的图像将是具有最大宽度的正方形。
现在进行缩放,以将图像放置在这个可合成的正方形中。这里ContentScale.FillWidth
将用于确定图像的位置和缩放比例。
对于纵向图像,图像将填满整个正方形,并且将垂直居中,裁剪出图像的某些上下部分。
对于横向图像,同样由于ContentScale.FillWidth
缩放,正方形的整个宽度将由图像填充,但由于图像的高度不够,因此图像将垂直居中,从而在正方形的上下两部分留出空白。
这篇关于Content Scale.FillWidth不工作Jetpack Compose的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:Content Scale.FillWidth不工作Jetpack Compose
基础教程推荐
猜你喜欢
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01