全篇: Jetpack Compose学习(2)——文字(Text)的运用 | Stars-One的商品小房子
这篇涉及到Kotlin和DSL特性的运用 若不了解得话很有可能会致使编号阅读文章文章内容艰辛,文章阅读前确保您有之上基础知识!!!
本系列产品商品以往文章请查看此分类联接jetpackCompose学习培训
基本上运用
@Preview(showBackground = true)
@Composable
fun textdemo() {
ComposeDemoTheme {
Column() {
//基本上运用
Text(text = "Hello world")
//文本色彩
Text(text = "Hello world", color = Color.Blue)
//字体样式尺寸,sp关键字务必导入
Text("Hello World", fontSize = 30.sp)
//斜体字
Text("Hello World", fontStyle = FontStyle.Italic)
//字体加粗
Text("Hello World", fontWeight = FontWeight.Bold)
//文本外溢(说明句点) repeat是不断的寓意,文字内容是20个Hello world组成的标识符串二维数组
Text(text = "Hello world".repeat(20),overflow = TextOverflow.Ellipsis,maxLines = 2)
}
}
}
之上编号的具体实际效果如下图所表明:
特性 | 说明 |
---|---|
text | 文本 |
color | 文本色彩 |
fontSize | 文字尺寸 |
fontStyle | 字体效果, 可设置为斜体字Italic |
fontWeight | 字体效果权重,可设置字体加粗 |
overflow | 文本外溢实际效果,与maxLines结合运用可进行文本外溢说明句点实际效果 |
maxLines | 比较大数量 ,与overflow结合运用进行文本外溢说明句点实际效果 |
PS:这里提下,也有一个重要的特性
Modifier
,这一准备充分在和合理布局运用一起讲解,其作用很强悍,可以 设置操纵高宽,状况,点一下实际效果,间距,旋转等实际效果,所有的构件都是存在有这一特性,方便快捷大伙儿对构件进行调整
之上列出的特性并并非是全部,也有一些并没有太普遍的就没分类整理了
弥补: 一般我们是将常用的文字放进
string.xml
文本文档中,倘若要想得到这里的数值,compose也是给与有比较应的方法,当然,除了文字之外,色彩等资源也是有相对应的方法文字 ->
stringResource(R.string.app_name)
色彩 ->
colorResource(R.color.black)
规格型号 ->
dimensionResource(R.dimen.padding_small)
相片 ->
painterResource(R.drawable.ic_logo)
单行文本多样式
大伙儿很有可能遇到这样的情况,在一行文字中,在这其中某一具体地址可以 点一下,或者某一句子务必字体加粗,按照以往的操作过程,大伙儿就得用很多TextView来进行或借助他人封裝的View来进行
但在Compose中,我们可以很方便的实现之上那般的实际效果,text
特性除了接纳字符串数组,还可以接纳一个关键主要参数AnnotatedString
,如下图所表明
提示:倘若你快捷键是默认 的话,在方法括号里按着
ctrl p
可以 看到基本参数提示 :good:
官方网网文本文本文档的描述:
The basic data structure of text with multiple styles.
翻译回家便是AnnotatedString
是一种具有多种多样多种多样样式的文字的大部分优化算法设计方案
文本文本文档上也是反映了,极力推荐可以 运用构建器来转换成总体目标,事实上也就是一个方法buildAnnotatedString()
此方法里面我们可以运用Kotlin的语言表达表述特性DSL,更快捷的创建一个AnnotatedString
来段简易的编码:
@Composable
fun ParaGraphStyle() {
Text(
buildAnnotatedString {
withStyle(style = ParagraphStyle(lineHeight = 30.sp)) {
//设置Hello为暗蓝色字体效果
withStyle(style = SpanStyle(color = Color.Blue)) {
append("Hello")
}
}
}
)
}
buildAnnotatedString方法里存在有withStyle
和append
方法,这两个方法其实是AnnotatedString.Builder
类里的方法
这里是选择了lambda书写,buildAnnotatedString花括号里的总体目标就是AnnotatedString.Builder
withStyle可以 接纳ParagraphStyle
或SpanStyle
从字面上很容易掌握,ParagraphStyle
是段落样式,SpanStyle
是单行样式
从结构涵数来看,SpanStyle
事实上和Text的构造方法相近,而且比Text类中的特性都必须 多种多样,如设置环境色调,阴影等(而Text类中这类功效都封号裝在Modified类里)
前面例举的特性表格它全是有,但除了text特性(当然,还可以掌握,这只是个Style,要text特性做什么 )
1、神器源码网,仅供学习参考,不保证可用性。
2、如果资源涉及你的合法权益,第一时间删除。
3、联系方式:haoziu@163.com