text-vertical
| 最近更新时间 | 稳定版 | 候选版 | Beta 版 | Alpha 版 |
|---|---|---|---|---|
| 2026 年 10 月 21 日 | - | - | 1.0.0-beta03 | - |
声明依赖项
如需添加 Text 的依赖项,您必须将 Google Maven 制品库添加到项目中。如需了解详情,请参阅 Google 的 Maven 代码库。
在应用或模块的 build.gradle 文件中添加所需工件的依赖项:
Groovy
dependencies { implementation "androidx.text:text-vertical:1.0.0-beta03" }
Kotlin
dependencies { implementation("androidx.text:text-vertical:1.0.0-beta03") }
如需详细了解依赖项,请参阅添加 build 依赖项。
反馈
您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。
如需了解详情,请参阅问题跟踪器文档。
Text-Vertical
版本 1.0
版本 1.0.0-beta03
2026 年 10 月 21 日
发布了 androidx.text:text-vertical:1.0.0-beta03 和 androidx.text:text-vertical-compose:1.0.0-beta03。版本 1.0.0-beta03 包含这些提交内容。
注意:这应该是最后一个 Beta 版。
新功能
- 向
VerticalTextSampleActivity添加了“字幕提示”标签页,以演示VerticalText功能,包括使用换行高度、toVerticalTextStyle()、RubySpan、EmphasisSpan、纵中横、FontShearSpan、UnderlineSpan和StrikethroughSpan进行渲染。I4799d1 b/571750156
bug 修复
- 修复了使用具有较大顶部和底部内边距的字体(例如 Noto Sans JP)时水平
RubySpan和EmphasisSpan行高的问题。(Ib0507、b/557316470)- 感谢 Numero-san 的报告! - 将 Compose 依赖项更新为
1.12.1。(I9ee7f、b/569780191) VerticalText现在会应用AnnotatedStringspan 样式,并在语义中保留AnnotatedStringspan 和注解。(Ib077f、b/502088091)- 修复了
RubySpan和EmphasisSpan在水平布局中无法填充TextPaint.bgColor或BackgroundColorSpan的背景颜色的问题。(I66ba8、b/561269843) - 修复了在 span 设置
Paint.Style.STROKE后,竖排文本中的背景颜色被绘制为轮廓的问题。(I692ed、b/566429122) VerticalTextLayout中涵盖完整RubySpan范围的CharacterStylespan 现在也适用于旁注文本,并且RubySpan.textScale会缩放它们设置的字体大小。现在,背景颜色还会填充较短的旁注文本和基础文本上方和下方的空白区域。(I0dadc、b/564268825)- 修复了竖排文本具有多个样式运行时
VerticalTextLayout背景高度的问题。(I7e31a、b/565211671) - 修复了
VerticalTextStyle.background更改为Color.Unspecified时VerticalText保留过时背景颜色的问题。(Ia0861、b/565211671) - 修复了在复制调用方绘制时,水平旁注和强调布局会跳过
TextPaint字段的问题。(Ia3043、b/561269843) VerticalText现在会从RubySpan中的纯String文本和纯String旁注标记后面绘制VerticalTextStyle.background中的背景颜色。(If0493、b/564268825)- 修复了水平旁注布局在初始化后导致共享工作绘制缩放的问题。(I33760、b/561269843)
- 修复了竖排文本示例应用,使平移手势无法将文本移出视图。(If0108、b/563461635)
- 修复了测试应用,以演示着重号位置 (I3ffa3, b/559972132)
- 为
LineLayout、TextUtils、CanvasCompat和PaintCompat添加了 Kex 符号执行分支测试。I47edf b/569212211
版本 1.0.0-beta02
2026 年 9 月 23 日
发布了 androidx.text:text-vertical:1.0.0-beta02 和 androidx.text:text-vertical-compose:1.0.0-beta02。版本 1.0.0-beta02 包含这些提交内容。
重要变更
- 我们添加了测试用例,以确保向后兼容至 API 24 (Android 7.0),结果非常令人满意!
- 这些库现在以 Kotlin 2.2 为目标,并且需要 kotlinc 2.2 (I82396, b/498369605)
- 竖排文本库现在会针对 SDK 37 进行编译。使用这些 API 的应用必须针对 SDK 37 进行编译,并使用 AGP 9.1.0 或更高版本。(I0f757、b/562182206)
bug 修复
EmphasisSpan.position现在会移动着重号。AnnotationPosition.Before会将标记置于水平文本上方和垂直文本右侧。AnnotationPosition.After将其放在另一侧。 (Ic9bfd、b/559972132)- 修复了水平文本布局中的着重号比例。预留的行高不再假定标记未缩放。(I6d7fe、b/562254557)
- 修复了垂直文本前进的向后移植问题。向后移植忽略了 API 级别低于 34 的请求偏移量。(I8877a、b/495457561)
- 修复了在低于 28 的 API 级别上,水平旁注文本预留过多垂直空间的问题,这可能会导致行高超出必要范围。(Iceb60、b/561323466)
- 针对竖排旁注和文本方向的测试现在可在所有受支持的 API 级别上运行。(If07d4、b/495457561)
androidx.lifecycle:lifecycle-runtime依赖项已更新至 2.10.0。此版本是捆绑的生命周期运行时 lint 检查在 AGP 9.5.0-alpha04 或更高版本中运行所必需的。(I7264b、b/556807521)- 修复了在水平文本布局中
RubySpan.position被忽略的问题。AnnotationPosition.After现在可在基础文本下方正确呈现注音文本。(Iaffa1、b/559972124、b/561323466) - 修复了在竖排文本布局中
RubySpan.position被忽略的问题。AnnotationPosition.After现在会在基础文本左侧正确呈现旁注标记文本。(I0be1c、b/495457561) - 将 Compose 依赖项升级到 1.11.4 (I9ef07, b/536925341)
版本 1.0.0-beta01
2026 年 8 月 26 日
发布了 androidx.text:text-vertical:1.0.0-beta01 和 androidx.text:text-vertical-compose:1.0.0-beta01。版本 1.0.0-beta01 包含这些提交内容。
API 变更
- 将
VerticalTextScope从接口更改为具体类。(I44e71、b/549288808)
bug 修复
- 更新了
combineUpright的文档。(Ib534b、b/548992014) - 从
VerticalText中移除了不正确的 API 36 最低要求文档。(I4f8e9、b/549288799) - 在向后移植模式下,使用计算出的上升比率作为垂直基线偏移量 (07339d7, b/502088091)
版本 1.0.0-alpha06
2026 年 7 月 29 日
发布了 androidx.text:text-vertical:1.0.0-alpha06 和 androidx.text:text-vertical-compose:1.0.0-alpha06。版本 1.0.0-alpha06 包含这些提交内容。
重要变更
- 此版本是该库的最后一个计划内 Alpha 版。
- 最终确定并优化了
VerticalText可组合项中的参数
API 变更
- 引入了
VerticalTextStyle,用于垂直文本布局。(I647a8、b/512424512) - 在
text-vertical-compose库中引入了新的公共 DSL(VerticalTextScope和buildVerticalText)(I6faa7、b/502088091) - 引入了
VerticalText可组合项 (I96509, b/502088091)
bug 修复
- 阐明了旧版 API 级别上的
VerticalTextLayout回退行为。(Ia7ccc、b/449184326)
此工件没有版本说明。
Text Vertical 版本 1.0
版本 1.0.0-alpha05
2026 年 4 月 22 日
发布了 androidx.text:text-vertical:1.0.0-alpha05 和 androidx.text:text-vertical-compose:1.0.0-alpha05。版本 1.0.0-alpha05 包含这些提交内容。
新功能
- 添加了可组合函数,以支持垂直文本布局,这与 Google 的“Compose 优先”计划保持一致。
API 变更
- 引入了
:text:text-vertical-compose库工件。(I939e4) - 向
VerticalTextLayout类添加了lineCount属性。(I93884、b/502088091)
bug 修复
- 更新了 KDoc 文档,以提高清晰度和准确性。(I71c8f、b/449184326)
版本 1.0.0-alpha04
2026 年 4 月 8 日
发布了 androidx.text:text-vertical:1.0.0-alpha04。版本 1.0.0-alpha04 包含这些提交内容。
新功能
- 重构了所有公共类,以便为一般用途提供更方便、更符合惯用法的 Kotlin API,同时保持强大的 Java 互操作性。
API 变更
- 为
FontShearSpan添加了默认的零参数构造函数,以实现 Java 兼容性 (I73065, b/493692287)。 - 移除了
RubySpan和EmphasisSpan中的Parcelable实现 (I49884, b/493693386)。 - 重构了
EmphasisSpan,以提高兼容性 (I34c40, b/493693310)。 - 重构了
AnnotationPosition以改进 API Surface (I10dce, b/493693386)。 - 将
TextOrientation转换为枚举类,将AnnotationPosition重构为密封类,并移除了RubySpan.Builder(Ib4a77, b/493693386)。 - 添加了
AnnotationPosition枚举并重构了RubySpan类(Ibfcff、b/493692426)。 - 重构了
TextOrientation以供一般使用,并改进了内部文本缩放扩展 (I82152, b/493692428)。
版本 1.0.0-alpha03
2026 年 3 月 25 日
发布了 androidx.text:text-vertical:1.0.0-alpha03。版本 1.0.0-alpha03 包含这些提交内容。
新功能
VerticalTextLayout现在支持横向布局,以显示日语中的特殊 span,例如 Ruby 和 Emphasis (Boten)。
API 变更
RubySpan和EmphasisSpan现在继承 ReplacementSpan,以便支持水平文本 (I38db6, b/447239659, b/447224892)
版本 1.0.0-alpha02
2025 年 10 月 8 日
发布了 androidx.text:text-vertical:1.0.0-alpha02。版本 1.0.0-alpha02 包含这些提交内容。
新功能
- 添加了
VerticalTextLayout#isVerticalTextLayoutSupported()方法,用于检查竖排文本功能 (Ie2802, b/442608654)
API 变更
- 在 API < 36 中引入了优雅降级机制。(I8a67a, b/442608654)
- 将
minSDK降级到 23,以便在其他 AndroidX 库中使用 (I2d6b5, b/442608654)
版本 1.0.0-alpha01
2025 年 8 月 27 日
发布了 androidx.text:text-vertical:1.0.0-alpha01。版本 1.0.0-alpha01 包含这些提交内容。
新功能
- 新增了一个竖排文本库,利用 Android 16 中新增的 VERTICAL_TEXT_FLAG 标志,支持竖排文本布局(主要针对日语)。
- 添加了
VerticalTextLayout,用于显示具有适当换行符、混合方向(例如,垂直行中的水平拉丁字符)和旁注标记的垂直文本。(8b3a10) - 添加了
FontShearSpan,用于在竖排文本中实现类似斜体的样式。(1ffd78) - 添加了
EmphasisRun,用于强调标记。(fe12d9)