Android 是否可以根据app'支持rtl文本方向;当电话是用英语时,是什么地方?

Android 是否可以根据app'支持rtl文本方向;当电话是用英语时,是什么地方?,android,xamarin.android,locale,right-to-left,Android,Xamarin.android,Locale,Right To Left,当我将手机语言转换为阿拉姆语并相应地设置应用程序的语言环境时,我成功地支持rtl布局。老实说,我还没有做到的是,当应用程序的语言环境设置为相同的语言(例如,新语言环境(“ar”))并且我的手机语言为英语时,我想知道是否可能支持rtl布局。当我这样做时,我的应用程序遵循ltr方向,为了概括它,我注意到应用程序的文本方向完全取决于手机的语言,而忽略了文本方向的区域设置。那么,有人知道如何在一个具有合适语言环境的应用程序中支持rtl逻辑,但手机是用英语打开的吗?或者这是否可能 编辑 感谢所有回答这个问

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

编辑


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

将这行代码添加到每个活动的onCreate方法的最顶端(在super和setContentView之前)。它将强制布局为RTL

 getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);

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

第1步:

将以下内容添加到清单文件中

<application
    android:supportsRtl="true">

    ...

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

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

按照下面的链接,从右到左支持阿拉伯语,从左到右支持其他语言


我的窍门是使用
conf.setLayoutDirection(currentLocale)更新我的资源配置时。因此,为了回答我自己的问题……是的,当手机转为ltr语言时,可以使用rtl应用程序。

为了澄清。。。简单地说,您想让rtl与英语语言手机兼容吗?比如在应用程序中将区域设置更改为具有rtl的区域设置?是的。当用户更改为rtl语言环境时,我希望以相应的方式设置布局(工具栏向右对齐,文本向右等)。
Locale locale = new Locale("ru");
Locale.setDefault(locale);
Configuration config = 
  getBaseContext().getResources().getConfiguration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
  getBaseContext().getResources().getDisplayMetrics());