为什么我们应该在 Jetpack Compose 中使用 XML 中的字符串?

问题描述 投票:0回答:1

如果 Compose 的想法是摆脱 XML,为什么仍然建议使用基于 XML 的字符串和字符串资源?

object Strings {...}
object Sp {...}
object Dp {...}

在 .kt 文件中听起来是一种更好的方式来处理组合中的字符串。和 sp/dp 值

android string kotlin android-jetpack-compose android-xml
1个回答
0
投票

是的,Jetpack Compose将放弃基于 XML 的 UI 定义,但在某些情况下,仍然建议对字符串和字符串资源使用 XML。这主要是为了保持兼容性并利用现有的本地化工具。请参阅下文以获得更清晰的信息 -

  • 本地化: XML 资源已为本地化工作流程做好了准备。字符串资源文件可以轻松翻译成不同的语言,并使用 Android Studio 内置翻译编辑器等工具进行管理。在 Kotlin 文件中定义字符串会使本地化变得更加复杂,并且需要自定义工作流程。
  • 资源共享:字符串资源可以在应用程序的不同部分之间共享,包括 Compose 和传统的基于视图的组件。在 XML 中使用它们可以确保一致性并避免字符串重复。如果您在 Kotlin 文件中定义它们,则必须手动处理共享和管理。
  • 平台功能: XML 资源可以直接利用字符串格式化和复数等平台功能。虽然可以在 Kotlin 中实现其中一些功能,但该过程变得更加复杂且标准化程度较低。

但是,您在 Kotlin 文件中定义 Sp 和 Dp 常量的建议是有价值的。这些值通常与特定主题或 UI 元素相关,并且通常不意味着在您的项目之外进行翻译或共享。将它们保留在您的代码库中可以简化管理并提高可读性。

希望您能理解!

© www.soinside.com 2019 - 2024. All rights reserved.