文本更改不为 Compose 中的所有字符提供全部支持
作者: ninavandijkk创建于 2026年3月3日更新于 2026年8月27日
标签New feature
** 您的特性请求与问题有关吗 ? 请说明。 ** 我和Lottie Compose的Json动画的 动态修改有问题 在我们的应用中,我们正用旧的"文本传送门"(TextDelegate)方式,通过获得我们在动画中放入的密钥,将动画中的文本更改为用户语言. 当前使用动态属性的已执行方式对我们不起作用,因为我们需要更改所有文本值,并且只显示之前在值中的字符. 对我们来说,这是一个问题,因为我们的密钥没有包含文本的所有字符,关键要更改为。
说明你想要的解决方案 我希望有一个适合的办法来制作多语种动画和文字改动,不仅显示以前价值的字符。
** 说明你考虑过的备选办法** 我们都尝试使用动态属性,并且通过某种TextDelegate执行来直接修改json文件. 两种执行都只显示文本被更改之前的数值中的字符。
** 其他情况** 随着目前的实施,我们取得了以下成果: <img宽="1080"高="1032" alt="Image" src="https://GitHub.com/user-attachments/assets/77f57502-c8e9-4224-8b97-da21eacf6f0"/".
我们展示这部动画的执行如下:
val jsonString = localizedText (. 修改 Lottie Json (troitalStep.image) ) 互联网档案馆的存檔,存档日期2013-12-21.
val 组成, 请记住 Lottie 组合 ()
spec = Lottie CompositionSpec. JsonString(jsonString) 互联网档案馆的存檔,存档日期2013-12-02.
(中文(简体) ).
乐天动画( Lottie)
组成=组成;
(原始内容存档于2017-03-27). intersties = Lottie Constants. 永远地,
(中文(简体) ).本地化 我们用来修改文本的案文:
类本地化文本 {
@ SuppressLint( “本地链接资源读取”)
@ composable (帮助)
趣味修改 Lottie Json ()
Lottie JsonId: 内装
: 字符串{
val 上下文 = localContext. current (中文(简体) ).
val 输入Stream = 上下文.resources.openRawResources(lottieJson) 互联网档案馆的存檔,存档日期2013-12-21. (d) 国家
val jsonString = 输入Stream.bufferedReader (. ). 使用 { it. readText () }
val json Object = JSON Object (json String) 互联网档案馆的存檔,存档日期2013-12-21.
val 层阵列 = json Object.getJSON Array ("层阵")
用于( 以 0 为单位, 直到图层Array. long ()) {
val 层 = 地层 Array.getJSON Object(一)
如果(layer.getInt ("ty") ================================================================================================================================================================================================================================================= 文本层
val 文本对象 = 层. getJSON 对象 ("t")
如果(文本对象.has ("d")){
val d Object = 文本 Object.getJSON Object ("d") 主题 主题 主题 主题 主题 主题 主题
如果 (dobject.has ("k")) {
val 文本Value = dObject.getJSONArray ("k") 维基语录链接:名人名言 - 分类
用于 (j 在 0 中直到文本Value. long ()) {
val文本项目=文本Value.getJSON Object(j)
如果(文本项目.has("s")){
val 样式 Object = 文本 项目. getJSON Object ("s")
val 值 = 样式 Object.getString ("t")
. . . . . . .内容来源: airbnb/lottie-android