Android:基于位置的从右向左或从左向右布局设计

Android:基于位置的从右向左或从左向右布局设计,android,android-layout,layout,localization,Android,Android Layout,Layout,Localization,我想根据位置进行不同的布局设计。事实上,我知道我们可以有不同的布局根据移动设备的大小 正如你们所知道的,Android有一个非常好的特性,你们可以根据被调用的位置来膨胀应用程序中的所有文本 我正在寻找一种类似的功能,迫使我的android应用程序根据位置进行适当的布局设计 在波斯语和阿拉伯语中,组件的方向最好是从右到左,虽然通过设计精确的所需布局是可能的,但我不知道如何使其国际化,因为无论大小,我需要根据用户位置有不同的布局设计方向,如美国、德国、伊朗等 是否有任何简单而自动的方法可以根据用户位

我想根据
位置
进行不同的
布局
设计。事实上,我知道我们可以有不同的布局根据移动设备的大小

正如你们所知道的,Android有一个非常好的特性,你们可以根据被调用的位置来膨胀应用程序中的所有文本

我正在寻找一种类似的功能,迫使我的android应用程序根据位置进行适当的布局设计

在波斯语和阿拉伯语中,组件的方向最好是
从右到左
,虽然通过设计精确的所需布局是可能的,但我不知道如何使其国际化,因为无论大小,我需要根据用户位置有不同的布局设计方向,如美国、德国、伊朗等

是否有任何简单而自动的方法可以根据用户位置将布局方向从
从左到右
更改为
从右到左
?我在stackoverflow中也检查过类似的问题,但那个解决方案不是我的目标


谢谢:-)

当然,它有一些方法可以让它工作

RTL布局目录(正确的方式)

应用程序的布局方向。ldrtl方法 “布局方向从右向左”。ldltr平均值 “布局方向从左到右”,是默认的隐式值

这可以应用于任何资源,如布局、绘图或值

例如,如果要为 阿拉伯语和其他“从右到左”的通用布局 语言(如波斯语或希伯来语),那么您将:

res/ 布局/
main.xml(默认布局) 布局ar/
main.xml(阿拉伯语的特定布局) 布局ldrtl/
main.xml(任何“从右向左”的语言,除了 对于阿拉伯语,因为“ar”语言限定符 具有更高的优先级。)注意:要为应用程序启用从右到左的布局功能,必须设置supportsRtl 设置为“true”,并将targetSdkVersion设置为17或更高

运行时
当然,它有一些方法可以让它工作

RTL布局目录(正确的方式)

应用程序的布局方向。ldrtl方法 “布局方向从右向左”。ldltr平均值 “布局方向从左到右”,是默认的隐式值

这可以应用于任何资源,如布局、绘图或值

例如,如果要为 阿拉伯语和其他“从右到左”的通用布局 语言(如波斯语或希伯来语),那么您将:

res/ 布局/
main.xml(默认布局) 布局ar/
main.xml(阿拉伯语的特定布局) 布局ldrtl/
main.xml(任何“从右向左”的语言,除了 对于阿拉伯语,因为“ar”语言限定符 具有更高的优先级。)注意:要为应用程序启用从右到左的布局功能,必须设置supportsRtl 设置为“true”,并将targetSdkVersion设置为17或更高

运行时

您可以使用
布局
子文件夹根据语言方向提供不同的布局。(
布局ldrtl

此外,您还可以根据语言提供不同的布局(
layout ar

在这种情况下,包含在simple
layout
文件夹中的布局将是默认布局


您可以在

中找到更多信息。您可以使用布局子文件夹根据语言方向提供不同的布局。(
布局ldrtl

此外,您还可以根据语言提供不同的布局(
layout ar

在这种情况下,包含在simple
layout
文件夹中的布局将是默认布局


更多信息可在

Set
LAYOUT\u DIRECTION=“rtl”

并设置
GRAVITY=“start”
设置
LAYOUT\u DIRECTION=“rtl”

设置
GRAVITY=“start”

这是一个非常好的答案,但不幸的是它只适用于API 17或更高版本。这是一个非常好的答案,但不幸的是它只适用于API 17或更高版本