我希望基于layout
设置不同的location
。实际上我知道我们可以根据移动设备的大小设置不同的布局。
如您所知,Android具有非常好的功能,您可以根据名为Localization的位置对应用程序中的所有文本进行充气。
我正在寻找一种类似的功能,迫使我的Android应用程序根据位置扩展合适的布局设计。
在波斯语和阿拉伯语中,组件的方向最好是Right-To-Left
,虽然可以通过设计精确的通缉布局,但我不知道如何使其成为国际,因为无论大小,我需要根据用户所在地设置不同的布局设计方向,如美国,德国,伊朗等。
是否有任何简单自动的方法可根据用户位置将布局方向从left-to-right
更改为right-to-left
?我在stackoverflow中检查了类似的question,但该解决方案不是我的目标和目标。
谢谢:-)
答案 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
答案 2 :(得分:0)
设置LAYOUT_DIRECTION="rtl"
并设置GRAVITY="start"