gpt4 book ai didi

android - 从应用程序设置语言环境 - 后退按钮问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:11:35 25 4
gpt4 key购买 nike

我正在为我的应用程序设置语言。我能够通过使用

从我的主要 Activity 更改语言环境
Resources resources = getResources();
Configuration configuration = resources.getConfiguration();
DisplayMetrics displayMetrics = resources.getDisplayMetrics();
configuration.setLocale(new Locale("ar"));
resources.updateConfiguration(configuration,displayMetrics);
recreate();

一切正常,但我注意到后退按钮没有将其方向更改为 RTL:

enter image description here

这是我将语言设置为 RTL 语言时的预期行为:

enter image description here

这可能吗?

最佳答案

改变导航栏的方向意味着应用将改变设备的Locale。这样的事情类似于在设备的语言设置中设置设备语言,因为 Locale 定义了 View 的语言和方向(rtl 或 ltr)以支持该语言。由于您只是在应用程序中更改ContextLocale,因此它不会影响 Context设备上的其他应用程序和系统应用程序/组件(启动器、导航栏、状态栏等)。因此,导航栏不会更改,也不会受到应用程序更改的影响。

此外,要更改设备 Locale 或任何其他配置(字体、字体大小、显示规范、旋转等),应用程序需要 SET_CONFIGURATION允许这样做。虽然在 docs 中没有说明,SET_CONFIGURATION 权限只能自动授予系统应用程序,例如语言和显示设置。我还没有看到第三方应用程序是否可以从用户那里请求它,但我相信在我的应用程序开发过程中,大多数时候都不可能,权限是使用 adb shell pm grant 授予的 命令在命令行中。通常我会在测试期间这样做,因为我的应用程序还支持其他语言,并且希望确保该应用程序在这种情况下表现良好,因此我会在命令行中授予它权限并让它更改语言环境测试中的设备。

关于android - 从应用程序设置语言环境 - 后退按钮问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49081753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com