动态Android应用本地化

我已经阅读了 here,Android应用程序中的本地化通过应用程序部署的XML文件进行.

可以在运行时将这些XML文件动态加载到应用程序中吗?

如果没有,是否可以覆盖UI XML和资源XML之间的绑定,以便我可以绑定到我自己的动态加载的XML文件,而不是res /值中的一个?

谢谢

解决方法

Is it possible to dynamically load those xml files at runtime into the app?

不,对不起

If not,is it possible to override the binding between the UI xml and the resources XML in such a way that I can bind to my own,dynamically loaded xml file instead of one in res/values?

res / values /中没有使用任何东西,除非你使用它.所以没有什么可以“超越”的.

例如,假设你有一个TextView.你希望它显示一些文本.您希望该文本被本地化.通常,您将设置一系列字符串资源,每个转换一个字符串资源,然后使用这些字符串资源与TextView(例如,在布局中的android:文本或Java中的setText()).在你的情况下,你不会设置字符串资源,而是“做自己的事情”,并根据需要调用setText().

你的方法失去的是自动转换.如果用户在您的应用程序运行时切换语言,Android会将其视为配置更改,并在返回到前台时重新启动您的活动.通常,这将自动加载新的字符串资源.在你的情况下,它不会,因为你不使用字符串资源.相反,您需要告诉Android才能重新启动您的活动(通过android:configChanges),并手动重新加载所有的TextView等小部件.如果你忘记了一个,那么用户只是搞砸了.

IMHO,除非有人指着你的头,迫使你尝试改变翻译,而不发送新版本的应用程序,只需使用字符串资源并发送新版本的应用程序.

相关文章

以下为个人理解,如错请评 CE: 凭据加密 (CE) 存储空间, 实际路径/data/user_ce/ DE: 设备加密 (DE) 存...
转载来源:https://blog.csdn.net/yfbdxz/article/details/114702144 用EventLog.writeEvent打的日志(或...
事件分发机制详解 一、基础知识介绍 1、经常用的事件有:MotionEvent.ACTION_DOWN,MotionEvent.ACTION...
又是好久没有写博客了,一直都比较忙,最近终于有时间沉淀和整理一下最近学到和解决的一些问题。 最近进...
Android性能优化——之控件的优化 前面讲了图像的优化,接下来分享一下控件的性能优化,这里主要是面向...
android的开源库是用来在android上显示gif图片的。我在网上查了一下,大家说这个框架写的不错,加载大的...