当前位置: 首页 > 知识库问答 >
问题:

Android:区域设置(系统语言)更改影响我的应用程序布局

董阳平
2023-03-14

我在我的应用程序中,打开了一个活动。我按下主页按钮并更改语言,从taskmanager打开我的应用程序。问题:我的活动布局越来越宽。

对应于该活动的androidmanifest的更改:

注意:若我在android清单中添加语言环境,布局是正确的,但语言不会立即更新。用户必须关闭该活动,然后重新启动,只有这样语言才能得到更新。

请提供您的意见。

共有1个答案

姜嘉荣
2023-03-14

正如对你问题的评论中提到的,这是正常行为。

区域设置的更改被视为配置的更改,与方向等的更改相同。

您需要覆盖活动中更改的onConfigurationChanged,并从那里重新加载所有内容。

注意:您还需要在AndroidManifest文件中的active声明中指定android: confiChange="locale"

 类似资料:
  • 使用一种语言比另外一种语言更流利?请为您的 Creative Cloud 应用程序选择其他语言。 选择您的操作系统筛选依据:所有系统较新的系统:Mac OS 10.7、Windows 7 或更高版本较旧的系统:Mac OS 10.6、Windows Vista 或更早版本 较新的系统:Mac OS 10.7、Windows 7 或更高版本 使用 Adobe Creative Cloud 桌面应用程

  • 我正在做一个项目,它需要在飞行中改变语言。我正在尝试设置所需的区域设置,但我一设置,应用程序就崩溃了,抱怨它找不到资源(比如r.layout.*r.drawable.*) 这是我用来设置新区域设置的代码: 编辑:已添加日志 E/AndroidRuntime:致命异常:main java.lang.RuntimeException:无法启动activity组件Info{com.flavorburst

  • 我想强制我的Symfony 2.5应用程序的区域设置为。我希望这个区域设置用于strftime()函数。 我的: 我正在我的一个控制器中使用以下代码来调试: 当这样执行时,它显示:。 但是,当第一行未注释时,它会显示:,因此区域设置已安装在系统中并正常工作。 我如何使Symfony始终使用配置中指定的语言环境? $locale-a:

  • 我正在为我的laravel应用程序提供多语言支持,所有的材料都在网上看到说,将区域设置传递到应用程序门面并调用setLocale方法翻译网站,我试过了,但没有运气。 在我的路由文件中,我有这个 HomeController@changeLocale我有... 在发送请求的视图中... 我总是收到成功的通知,但是App::getLocale()仍然是默认设置,因此网站不会被翻译。我需要帮助。

  • 我在azure portal中为Cosmos帐户启用了多写功能。我不明白是否也必须使用SDK来设置ApplicationRegion?如果是强制的,这个属性的目的是什么?我看到了下面的文档,但我仍然不清楚。 文档

  • 问题内容: 我正在尝试实现可以​​更改应用程序语言的功能。 我试图这样设置: 在应用重启后,语言仍然是“系统默认值”。 现在,我通过设置来测试不同的语言。 但是,用户是否可以单击按钮,然后在重新启动后查看选择的语言? 另外,执行此操作以避免在重新启动时更改语言的正确方法是什么? 问题答案: 是的,您可以立即更改应用语言,例如, 使用您的NSUserDefaults值来设置语言。