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

时间:2016-09-17 07:17:56

标签: android android-layout layout localization

我希望基于layout设置不同的location。实际上我知道我们可以根据移动设备的大小设置不同的布局。

如您所知,Android具有非常好的功能,您可以根据名为Localization的位置对应用程序中的所有文本进行充气。

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

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

是否有任何简单自动的方法可根据用户位置将布局方向从left-to-right更改为right-to-left?我在stackoverflow中检查了类似的question,但该解决方案不是我的目标和目标。

谢谢:-)

3 个答案:

答案 0 :(得分:3)

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

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

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

更多信息您可以在developer site

中找到

答案 1 :(得分:1)

ofcurse,它有一些方法可以使它有效。

RTL布局目录(正确方式)

  

应用程序的布局方向。 ldrtl意思是   "布局方向从右到左&#34 ;. ldltr意思是   "布局方向左到右"并且是默认的隐含值。

     

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

     

例如,如果您想为其提供一些特定的布局   阿拉伯语和其他任何通用布局"从右到左"   语言(如波斯语或希伯来语)然后你会有:

     

RES /       布局/
          main.xml(默认布局)       布局-AR /
          main.xml(阿拉伯语的具体布局)       布局ldrtl /
          main.xml(任何"从右到左"语言,除了                     对于阿拉伯语,因为" ar"语言限定词                     具有更高的优先级。)注意:要为您的应用启用从右到左的布局功能,您必须设置supportsRtl   到"真"并将targetSdkVersion设置为17或更高。

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

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

答案 2 :(得分:0)

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