安卓系统:基于位置的从右到左或从左到右布局设计



我想在location的基础上设计不同的layout。实际上,我知道我们可以根据移动设备的大小进行不同的布局。

正如你所知,Android有一个非常好的功能,你可以根据位置膨胀应用程序中的所有文本,这就是本地化。

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

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

有没有什么简单而自动的方法可以根据用户位置将布局方向从left-to-right更改为right-to-left?我在stackoverflow中检查过类似的问题,但那个解决方案不是我的目的和目标。

谢谢:-(

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

此外,您可以根据语言提供不同的布局(在您的情况下为layout-ar(。

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

更多信息您可以在开发者网站

中找到

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

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

应用程序的布局方向。ldrtl的意思是"布局方向从右向左"。ldltr表示"布局方向从左到右",是默认的隐式值。

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

例如,如果要为阿拉伯语和任何其他"从右到左"的通用布局语言(如波斯语或希伯来语(,那么你会有:

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

https://developer.android.com/guide/topics/resources/providing-resources.html

运行时间https://stackoverflow.com/a/23203698

设置LAYOUT_DIRECTION="rtl"并设置GRAVITY="start"

最新更新