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

相关文章

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

vue2 组件通信

props + emits props:用于接收父组件传递给子组件的数据。可以定义期望从父组件接收的数据结构和类型。‘子组件不可更改该数据’emits:用于定义组件可以向父组件发出的事件。这允许父组件监听子组件的事件并作出响应。(比如数据更新) props检查属性 属性名类型描述默认值typeFunction指定 prop 应该是什么类型,如 String, Number, Boolean,

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

C 语言基础之数组

文章目录 什么是数组数组变量的声明多维数组 什么是数组 数组,顾名思义,就是一组数。 假如班上有 30 个同学,让你编程统计每个人的分数,求最高分、最低分、平均分等。如果不知道数组,你只能这样写代码: int ZhangSan_score = 95;int LiSi_score = 90;......int LiuDong_score = 100;int Zhou

kubelet组件的启动流程源码分析

概述 摘要: 本文将总结kubelet的作用以及原理,在有一定基础认识的前提下,通过阅读kubelet源码,对kubelet组件的启动流程进行分析。 正文 kubelet的作用 这里对kubelet的作用做一个简单总结。 节点管理 节点的注册 节点状态更新 容器管理(pod生命周期管理) 监听apiserver的容器事件 容器的创建、删除(CRI) 容器的网络的创建与删除