Jectpack-Compose 基础组件 : Text - TextStyle

2024-08-21 02:32

本文主要是介绍Jectpack-Compose 基础组件 : Text - TextStyle,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Text - TextStyle

文本的样式配置,如颜色、字体、行高等和 Text 组件一样。

一般属性查看:Jectpack-Compose 基础组件 : Text

下面介绍不一样的属性。

fontSynthesis: FontSynthesis?

在提供的自定义字体系列中找不到请求的字体粗细或样式时,是否合成字体粗细和/或样式。

看下 FontSynthesis

enum class FontSynthesis {/*** 关闭字体合成。如果[FontFamily]中不存在粗体或倾斜的面,则不会合成它们*/None,/*** 如果[FontFamily]中没有粗体字体,则只合成粗体字体。不会合成倾斜字体。*/Weight,/*** 如果[FontFamily]中没有粗体字体,则只合成粗体字体。不会合成倾斜字体。*/Style,/*** 如果[FontFamily]中没有粗体和倾斜字体,则系统会综合这两种字体*/All;internal val isWeightOn: Booleanget() = this == All || this == Weightinternal val isStyleOn: Booleanget() = this == All || this == Style
}

shadow: Shadow?

应用于文本的阴影效果。

看下 Shadow

class Shadow(// 阴影颜色@Stableval color: Color = Color(0xFF000000),// 偏移量@Stableval offset: Offset = Offset.Zero,// 阴影半径@Stableval blurRadius: Float = 0.0f
)

示例代码

    val textStyle = TextStyle(shadow = Shadow(color = Color.Red, offset = Offset(0f, 2f), blurRadius = 5f),)Text(text = "你好 $name!",style = textStyle,)

实际效果
在这里插入图片描述
Offset 函数

Offset(x: Float, y: Float)

同安卓坐标系一样,左上角为0点
x:为x轴偏移量。正数往右偏移,负数往左偏移
y:为y轴偏移量。正数往下偏移,正数往上偏移

Offset(-2f, -2f) 实际效果:
在这里插入图片描述
Offset(2f, 2f) 实际效果:
在这里插入图片描述

textIndent: TextIndent?

指定段落的缩进。

参数:
firstLine—应用于第一行的缩进量。
restLine—应用于除第一行以外的每行的缩进量。

class TextIndent(val firstLine: TextUnit = 0.sp,val restLine: TextUnit = 0.sp
)

效果展示:

    val textStyle = TextStyle(textIndent = TextIndent(40.sp, 20.sp))Text(text = "你好 $name!你好 $name!你好 $name!你好 $name!你好 $name!你好 $name!你好 $name!你好 $name!你好 $name!你好 $name!",style = textStyle,)

在这里插入图片描述

textGeometricTransform: TextGeometricTransform?

几何变换。

/** 
* 定义文本的几何变换。
* 参数:
* scaleX-文本在水平方向上的比例。默认值为1.0f,即无缩放。
* skewX-文本在水平方向上的剪切。(x,y)处的像素(y是基线上方的距离)将转换为(x+y*skewX,y)。默认值为0.0f,即无倾斜。
*/
@Immutable
class TextGeometricTransform(val scaleX: Float = 1.0f,val skewX: Float = 0f
) 

先试试 scaleX 的效果:

    val textStyle = TextStyle(textGeometricTransform = TextGeometricTransform(2f, 0f))Text(text = "你好 $name",style = textStyle,)

在这里插入图片描述
文字被拉长变扁了,变胖了

    val textStyle = TextStyle(textGeometricTransform = TextGeometricTransform(0.5f, 0f))Text(text = "你好 $name",style = textStyle,)

在这里插入图片描述
文字被挤扁了~~,变瘦了

scaleX 的默认值为 1.0f
综上两个测试可以得出: scaleX > 1.0f 时文字会拉长, scaleX < 1.0f 时会挤扁~~

再试试 skewX

    val textStyle = TextStyle(textGeometricTransform = TextGeometricTransform(1f, 1f))Text(text = "你好 $name",style = textStyle,)

在这里插入图片描述

    val textStyle = TextStyle(textGeometricTransform = TextGeometricTransform(1f, 1f))Text(text = "你好 $name",style = textStyle,)

在这里插入图片描述
skewX 的默认值为 0f
综上两个测试可以得出: skewX > 0f 时文字会向左倾斜,并且若倾斜后文字超出 Text 容器的边缘时会被裁切, skewX < 1.0f 时会向右倾斜,并且若倾斜后文字超出 Text 容器的边缘时会被裁切

这篇关于Jectpack-Compose 基础组件 : Text - TextStyle的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1091864

相关文章

Java利用Spire.Doc for Java实现在模板的基础上创建Word文档

《Java利用Spire.DocforJava实现在模板的基础上创建Word文档》在日常开发中,我们经常需要根据特定数据动态生成Word文档,本文将深入探讨如何利用强大的Java库Spire.Do... 目录1. Spire.Doc for Java 库介绍与安装特点与优势Maven 依赖配置2. 通过替换

JavaWeb 中的 Filter组件详解

《JavaWeb中的Filter组件详解》本文详细介绍了JavaWeb中的Filter组件,包括其基本概念、工作原理、核心接口和类、配置方式以及常见应用示例,Filter可以实现请求预处理、响应后... 目录JavaWeb 中的 Filter 详解1. Filter 基本概念1.1 什么是 Filter1.

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

JavaScript装饰器从基础到实战教程

《JavaScript装饰器从基础到实战教程》装饰器是js中一种声明式语法特性,用于在不修改原始代码的情况下,动态扩展类、方法、属性或参数的行为,本文将从基础概念入手,逐步讲解装饰器的类型、用法、进阶... 目录一、装饰器基础概念1.1 什么是装饰器?1.2 装饰器的语法1.3 装饰器的执行时机二、装饰器的

Java JAR 启动内存参数配置指南(从基础设置到性能优化)

《JavaJAR启动内存参数配置指南(从基础设置到性能优化)》在启动Java可执行JAR文件时,合理配置JVM内存参数是保障应用稳定性和性能的关键,本文将系统讲解如何通过命令行参数、环境变量等方式... 目录一、核心内存参数详解1.1 堆内存配置1.2 元空间配置(MetASPace)1.3 线程栈配置1.

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

MySQL中VARCHAR和TEXT的区别小结

《MySQL中VARCHAR和TEXT的区别小结》MySQL中VARCHAR和TEXT用于存储字符串,VARCHAR可变长度存储在行内,适合短文本;TEXT存储在溢出页,适合大文本,下面就来具体的了解... 目录一、VARCHAR 和 TEXT 基本介绍1. VARCHAR2. TEXT二、VARCHAR

Spring的基础事务注解@Transactional作用解读

《Spring的基础事务注解@Transactional作用解读》文章介绍了Spring框架中的事务管理,核心注解@Transactional用于声明事务,支持传播机制、隔离级别等配置,结合@Tran... 目录一、事务管理基础1.1 Spring事务的核心注解1.2 注解属性详解1.3 实现原理二、事务事