text-vertical

  
TODO
最近更新時間 穩定版 候選版 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")
}

如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。

意見回饋

您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。

建立新問題

詳情請參閱 Issue Tracker 說明文件。

文字 - 垂直

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

修正錯誤

  • 修正使用頂端和底部邊框間距較大的字型 (例如 Noto Sans JP) 時,水平 RubySpan 和 EmphasisSpan 行高的問題。(Ib0507、b/557316470) - 感謝 Numero-san 回報問題!
  • 將 Compose 依附元件更新至 1.12.1。(I9ee7f、b/569780191)
  • VerticalText 現在會套用 AnnotatedString 跨距樣式,並保留語意中的 AnnotatedString 跨距和註解。(Ib077f、b/502088091)
  • 修正 RubySpan 和 EmphasisSpan 在水平版面配置中,未填滿 TextPaint.bgColor 或 BackgroundColorSpan 背景顏色的問題。(I66ba8、b/561269843)
  • 修正了直書文字的背景顏色,在設定 Paint.Style.STROKE 後,背景顏色會繪製為外框。(I692ed、b/566429122)
  • VerticalTextLayout 中涵蓋完整 RubySpan 範圍的 CharacterStyle 跨度現在也會套用至注音文字,而 RubySpan.textScale 會縮放其設定的字型大小。背景顏色現在也會填滿注音文字和基本文字中較短者上方和下方的空白空間。(I0dadc、b/564268825)
  • 修正直立文字有多個樣式執行時,VerticalTextLayout 背景高度的問題。(I7e31a、b/565211671)
  • 修正了 VerticalTextStyle.background 變更為 Color.Unspecified 時,VerticalText 會保留過時背景顏色的問題。(Ia0861、b/565211671)
  • 修正問題:複製呼叫端繪製時,水平注音和強調版面配置會略過 TextPaint 欄位。(Ia3043、b/561269843)
  • VerticalText 現在會從 VerticalTextStyle.background 繪製背景顏色,位於純 String 文字後方,以及 RubySpan 中純 String 注音標示後方。(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)

修正錯誤

  • EmphasisSpan.position現在會移動強調標記。AnnotationPosition.Before 會將標記置於水平文字上方和垂直文字右側。AnnotationPosition.After 則會將其放在相反側。(Ic9bfd、b/559972132)
  • 修正水平文字版面配置中的強調標記比例。保留的行高不再假設標記未縮放。(I6d7fe、b/562254557)
  • 修正垂直文字前進的反向移植。在 API 級別低於 34 的情況下,向後移植會忽略要求的偏移量。(I8877a、b/495457561)
  • 修正了在 API 級別 28 以下,水平注音文字保留過多垂直空間的問題,這可能會導致行高超過必要值。(Iceb60、b/561323466)
  • 直書注音和文字方向的測試現在可在所有支援的 API 級別上執行。(If07d4、b/495457561)
  • androidx.lifecycle:lifecycle-runtime 依附元件已更新至 2.10.0。如要搭配 AGP 9.5.0-alpha04 以上版本執行套裝生命週期執行階段 Lint 檢查,則必須使用這個版本。(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 變更

修正錯誤

  • 更新 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)

修正錯誤

  • 針對舊版 API 級別的 VerticalTextLayout 備用行為,提供更清楚的說明文件。(Ia7ccc、b/449184326)

這個構件沒有任何版本資訊。

文字垂直 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)

修正錯誤

  • 更新 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 介面 (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 現已支援水平版面配置,可顯示日文特殊文字範圍,例如 Ruby 和 Emphasis (Boten)。

API 變更

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 變更

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)