
纵向布局为:Column
横向布局为:Row
设置内容
text属性设置内容。
设置权重
Modifier.weight(1.0f, true)权重设置,第一个参数 Float类型设置占比权重,第二个参数当为true时,元素将占据分配的整个宽度。
fontSize设置字体大小,FontFamily(Font(R.font.shizizuo))设置字体样式。
设置字体间距
letterSpacing 设置字体间距。
Text(
//权重设置
modifier = Modifier.weight(1.0f, true),
text = "当前数量:$index",
fontSize = 30.sp,
//字体样式设置
fontFamily = FontFamily(Font(R.font.shizizuo)),
//字体颜色设置
color = colorResource(id = R.color.purple_500),
//设置字符间距
letterSpacing = 5.sp
)
更多属性参考源码:
fun Text(
text: String,
modifier: Modifier = Modifier,
color: Color = Color.Unspecified,
fontSize: TextUnit = TextUnit.Unspecified,
fontStyle: FontStyle? = null,
fontWeight: FontWeight? = null,
fontFamily: FontFamily? = null,
letterSpacing: TextUnit = TextUnit.Unspecified,
textDecoration: TextDecoration? = null,
textAlign: TextAlign? = null,
lineHeight: TextUnit = TextUnit.Unspecified,
overflow: TextOverflow = TextOverflow.Clip,
softWrap: Boolean = true,
maxLines: Int = Int.MAX_VALUE,
onTextLayout: (TextLayoutResult) -> Unit = {},
style: TextStyle = LocalTextStyle.current
)
设置下划线与删除线
TextDecoration.Underline给字体设置下划线,TextDecoration.LineThrough给字体设置删除线,extAlign.Center设置字体内容居中。
Text(
//宽度全屏
modifier = Modifier.fillMaxWidth(),
text = "Hello world!",
//下划线
textDecoration = TextDecoration.Underline,
//内容居中
textAlign = TextAlign.Center
)
Text(
modifier = Modifier.fillMaxWidth(),
text = "Hello world!",
//中划(删除/过时)线
textDecoration = TextDecoration.LineThrough,
//内容居中
textAlign = TextAlign.Center
)
设置行高
lineHeight设置行高,fontSize设置字体大小,maxLines设置最大行,TextOverflow.Clip设置文本超出不显示,TextOverflow.Ellipsis设置超出文本省略号显示。
Text(
"素胚勾勒出青花笔锋浓转淡",
//行高
lineHeight = 35.sp,
//字符间距
letterSpacing = 35.sp,
//字体大小
fontSize = 15.sp,
//最大行
// maxLines = 1,
//剪切溢出的文本以固定其容器。
// overflow = TextOverflow.Clip,
//使用省略号表示文本已溢出。
// overflow = TextOver

本文详细介绍了在Compose中如何使用Column和Row进行纵向和横向布局,以及如何设置Text的各种属性,如权重、字体、颜色、间距、装饰线、行高等,还涉及了长按复制、过滤复制和SelectionContainer的用法。
最低0.47元/天 解锁文章
1330






