← 返回 Android 词条
宽高比
在 Android 上叫aspectRatio
Compose: Modifier.aspectRatio(ratio, matchHeightConstraintsFirst)
官方措辞是「尝试」把内容尺寸匹配到指定比例,并逐条列出尝试顺序:maxWidth、maxHeight、minWidth、minHeight。也就是说结果取决于父级传下来的约束,不是无条件成立;matchHeightConstraintsFirst 用来把这个顺序倒过来。三端里只有它把解析顺序写进了文档。
元素的宽和高之间保持的比例,窗口变化时按这个比例一起缩放,而不是各缩各的。
- 宽和高要按比例
- 十六比九那种
- 缩放的时候别变形
- 宽高比
- 长宽比
- 纵横比
其他平台的相似实现
Web原生支持
aspect-ratio同名官方定义是「允许你定义元素盒子期望的宽高比」—— 是一个期望值,最终尺寸仍受其他尺寸属性约束。
看 Web 视角 →iOS原生支持
aspectRatio同名官方描述是「把这个视图的尺寸约束到指定的宽高比」。
看 iOS 视角 →使用规范
什么时候用
- 图片、视频、封面需要在不同宽度下保持同一形状时
- 占位区域要在内容加载前就撑出正确形状时
什么时候别用
- 内容高度由文字多少决定,强行锁比例会截断或留白时
- 只想限制最大高度 → 直接写高度上限,不要绕道比例