【问题标题】:Android - change Launcher Icon LanguageAndroid - 更改启动器图标语言
【发布时间】:2013-01-01 11:29:51
【问题描述】:

我想为我的应用添加一个独立于系统语言的语言设置。

我可以设法更改任何语言,但启动器图标仍为系统语言。

是否有可能更改该图标语言?

梅丁

【问题讨论】:

  • 只是好奇,您为什么要让图标语言与手机语言设置不同?对最终用户来说不会不一致吗?
  • 不,最终用户将能够在设置中编辑语言,所以这不是问题。
  • 不确定这是否符合您的要求,但值得一试:stackoverflow.com/q/5551939/867591
  • 这会自动选择系统语言,但它应该使用我的应用设置中的语言,独立于系统语言
  • 我不认为你能做到这一点。系统将从它自己的语言环境设置中提取标签属性,而不是您的应用程序覆盖的内容。也许为您的用户制作一个不错的小部件,让他们选择语言?

标签: android icons launcher


【解决方案1】:

假设您支持 N 具有此可疑功能的语言。

您的清单中需要N 条目以用于启动器活动。这 N 个条目中的每一个都需要一个 android:label 指向一个字符串,该字符串表示当您的应用程序配置为 -such-and-so 语言时您希望显示的内容。然后,您将使用 PackageManagersetComponentEnabledSetting() 禁用旧活动并启用新活动。

可以想象,您可以使用一个<activity> 元素和N <activity-alias> 元素来实现您的目标,但我不确定您是否可以启用和禁用活动别名。

【讨论】:

  • 是的,谢谢你,这就是我想要的。我不会有那么多语言,所以这不是一件好事。我必须在每次启动时调用那个 setcomponentenabled... 还是一次?
  • @metinkale38:每次更改语言一次。您将选择一个活动——其标签是你的默认语言——一开始就启用。其他人将在清单中有android:enabled="false"。然后,当用户更改语言时,切换启用哪个语言和禁用哪个语言。但请注意,这可能不会很快生效,因为欢迎主屏幕缓存此信息,您对此无能为力。
  • 似乎没有完美的解决方案。无论如何,谢谢,我会看看我能做什么
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-15
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
相关资源
最近更新 更多