android Compose Text文本
admin
2024-02-26 01:54:49
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//绘制文本字体样式
) 

1.style 字体样式

Text(text = "Hello World!",style = TextStyle(fontSize = 25.sp,fontWeight = FontWeight.Bold,background = Color.Cyan,lineHeight = 35.sp,  //行高letterSpacing = 4.sp, //字间距textDecoration = TextDecoration.LineThrough))Text(text = "Hello World!",style = MaterialTheme.typography.h6.copy(fontStyle = FontStyle.Italic))Text(text = "Hello World!",style = MaterialTheme.typography.h6.copy(fontStyle = FontStyle.Italic))Text(text = "你好,我正在学习compose。你好,我正在学习compose。你好,我正在学习compose。你好,我正在学习compose。",maxLines = 1,style = MaterialTheme.typography.body1,overflow = TextOverflow.Ellipsis //设置行数1,超过一行结尾使用...)

2.fontFamily 字体风格

 //字体Text(text = "hello")//使用自定义字体需要在res中创建font文件夹,字体文件放入进去Text(text = "hello", fontFamily = FontFamily.Cursive)

3.AnnotatedString 多样式字体。 文字局部内容格式突出显示。

 val scope = rememberCoroutineScope()
//snakerbar状态val snackbarHostState = remember { SnackbarHostState() }//文本var text = buildAnnotatedString {withStyle(style = SpanStyle(fontSize = 18.sp, color = Color.Red)) {append("请点击")}//设置部分内容可以点击,开头pushStringAnnotation(tag = "url", annotation = "https://www.baidu.com")withStyle(style = SpanStyle(color = Color.Blue,fontStyle = FontStyle.Italic,textDecoration = TextDecoration.LineThrough)) {append("用户协议")}//设置部分内容可以点击,结尾pop()}Text(text = text )
//设置点击事件,可以点击的文字ClickableText(text = text, style = TextStyle(fontSize = 29.sp, color = Color.Yellow),onClick = {text.getStringAnnotations(start = it,end = it,tag = "url").firstOrNull()?.let {scope.launch {//显示snackbar代替dialog  snackbarHostState.showSnackbar(it.item)}}})//snakerbar显示位置SnackbarHost(hostState = snackbarHostState)

4.SelectionContainer。 设置文本可以复制

 SelectionContainer {Text(text = "hello")}

相关内容

热门资讯

最新或2023(历届)甘肃高考...  从最新或2023(历届)1月1日起,甘肃省将取消体育特长生、中学生奥林匹克竞赛、科技类竞赛、省级优...
河南省减少和规范高考加分项目及... 为贯彻落实《教育部 国家民委 公安部 国家体育总局 中国科学技术协会关于进一步减少和规范高考加分项目...
最新或2023(历届)上海交通... 最新或2023(历届)上海交通大学浙江综合评价录取相关问答 1. 对于浙江考生,是否可以同时报考上海...
最新或2023(历届)江苏高考... 江苏省最新或2023(历届)普通高校招生体育类专业省统考网上信息确认流程第一步:进入《江苏省普通高校...
上海交通大学最新或2023(历... 最新或2023(历届)上海交通大学上海综合评价录取相关问答 1. 对于上海考生,是否可以同时报考上海...