您的位置:首页 > 游戏 > 手游 > Jetpack Compose_Alignment对其+Arrangement排列

Jetpack Compose_Alignment对其+Arrangement排列

2024/11/16 23:58:37 来源:https://blog.csdn.net/Margaret_MO/article/details/139742825  浏览:    关键词:Jetpack Compose_Alignment对其+Arrangement排列

文章目录

  • 1.Alignment 对齐
    • 1.1Alignment 对齐方式
    • 1.2AbsoluteAlignment 绝对对齐
    • 1.3BiasAlignment 偏差对齐
    • 1.4BiasAbsoluteAlignment偏差绝对对齐
  • 2.Arrangement 排列
    • 2.1Arrangement 排列方式
    • 2.2Arrangement.Horizontal
    • 2.3Arrangement.Vertical

1.Alignment 对齐

1.1Alignment 对齐方式

Alignment

类型对齐方式说明
AlignmentTopStart顶部左对齐
TopCenter顶部居中对齐
TopEnd顶部右对齐
CenterStart居中左对齐
Center居中
CenterEnd居中右对齐
BottomStart底部左对齐
BottomCenter底部居中
BottomEnd底部右对齐
Alignment.VerticalTop竖直的置顶
CenterVertically竖直的居中
Bottom竖直的置底
Alignment.HorizontalStart水平的置左
CenterHorizontally水平的居中
End水平的置右

疑问:为什么有 Alignment 了,还需要有 Alignment.VerticalAlignment.Horizontal 呢?
因为有些控件,如 Row 只能调整竖直方向上的对齐方式,水平方向上调的是 Arrangement 排列,因此对齐枚举需要限制为特定方向上的


1.2AbsoluteAlignment 绝对对齐

AbsoluteAlignment
不知道布局方向的常见对齐方式的集合。

类型对齐方式说明
AlignmentTopLeft左上角
TopRight右上角
CenterLeft居中左侧
CenterRight居中右侧
BottomLeft底部左侧
BottomRight底部右侧
Alignment.HorizontalLeft水平方向左侧
Right水平方向右侧

当不知道是横向还是纵向布局方式时使用,暂时还没想到应用场景。(欢迎评论补充)


1.3BiasAlignment 偏差对齐

BiasAlignment
-1: 表示 start/top
0: 表示 center
1: 表示 end/bottom

data class BiasAlignment(val horizontalBias: Float, // 水平方向对齐方式val verticalBias: Float // 竖直方向对齐方式
)

1.4BiasAbsoluteAlignment偏差绝对对齐

BiasAbsoluteAlignment
-1: 表示对齐到左上角
0: 表示居中
1: 表示右下角
就是在 左上角右下角 这条斜线上对齐

data class BiasAbsoluteAlignment(private val horizontalBias: Float,private val verticalBias: Float
)

2.Arrangement 排列

2.1Arrangement 排列方式

Arrangement

对齐方式说明
Equal Weight等宽/高
Space Between等间距
Space Around每个item等padding
Space Evenly每个item等margin
End尾部对其
Center居中
Start头部对其

2.2Arrangement.Horizontal

如:RowhorizontalArrangement

2.3Arrangement.Vertical

如:ColumnverticalArrangement


参考:
androidx.compose.foundation.layout
Componse教程 | 关于 Alignment与Arrangement

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com