gpt4 book ai didi

android - 当电话是英文时,是否可以根据应用程序的语言环境支持 rtl 文本方向?

转载 作者:行者123 更新时间:2023-11-29 02:40:23 26 4
gpt4 key购买 nike

当我将手机的语言设置为阿拉姆语并相应地设置我的应用程序区域时,我成功地支持了 rtl 布局。我还没有做到,老实说,我想知道是否有可能,当应用程序的语言环境设置为语言时支持 rtl 布局(例如 new Locale("ar") ) 而我手机的语言是英语。当我这样做时,我的应用程序遵循 ltr 方向并概括它,我注意到应用程序的文本方向完全取决于手机的语言,忽略区域设置至于文本方向。那么有没有人知道如何在具有合适语言环境但手机是英文的应用程序中支持 rtl 逻辑?或者这是否可能?

编辑

感谢所有回答问题的人,但他们的回答没有回答我的问题。我可能没有说清楚,但是当我将手机设置为从右到左的语言并在开发人员选项中强制使用 rtl 时,我设法支持了 rtl。我的问题是当手机的语言是英语但我的应用程序的语言环境是阿拉姆语时,是否可以有一个“从右到左的应用程序”?或者一切都将以“从左到右”的逻辑显示,但带有相应的阿拉姆语翻译?

最佳答案

要完全支持 rtl,请执行以下操作:

第 1 步:

将以下内容添加到 list 文件。

<application
android:supportsRtl="true">

...

</application>

第 2 步:

在您的翻译器编辑器中翻译所有字符串。 help here.

第 3 步:

更新您的布局。

代替 paddingLeft/paddingRight 使用 paddingStart 和 paddingEnd,应用程序将确定它运行的语言并相应地放置填充或边距。对边距做同样的事情。

第 4 步:

使用以下方法在运行时检查应用程序是否以从右到左模式运行。

public boolean isRTL(Context ctx) {
Configuration config = ctx.getResources().getConfiguration();
return config.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL;
}

所以...如果您只想更改应用程序区域设置,请使用以下代码:

Locale locale = new Locale("ru");
Locale.setDefault(locale);
Configuration config =
getBaseContext().getResources().getConfiguration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());

关于android - 当电话是英文时,是否可以根据应用程序的语言环境支持 rtl 文本方向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44585528/

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