如何用RTL水平方向创buildandroid linearlayout

我想创build一个水平方向的线性布局

但我希望它把孩子放在右边,而不是像往常一样放在左边

我怎样才能做到这一点?

我知道如何使用relativeLayout来做到这一点,但我想练习linearLayout

Solutions Collecting From Web of "如何用RTL水平方向创buildandroid linearlayout"

如果你正在使用Android工作室,你可以这样做:

1-右键单击项目主文件夹

2-重构

3-添加对RTL的支持

你可以使用这个代码片段来颠倒你的布局视图。

LinearLayout ll = // inflate ArrayList<View> views = new ArrayList<View>(); for(int x = 0; x < ll.getChildCount(); x++) { views.add(ll.getChildAt(x)); } ll.removeAllViews(); for(int x = views.size() - 1; x >= 0; x--) { ll.addView(views.get(x)); } 

或者要开始在应用程序中支持RTL布局,请将android:supportsRtl属性设置为清单文件中的元素,并将其设置为“true”。一旦启用此function,系统将启用各种RTL API以使用RTL布局显示您的应用程序。例如,操作栏将在右侧显示图标和标题,在左侧显示操作button,并且您使用框架提供的View类创build的任何布局也将反转。

您可以将父视图元素的重心设置为右侧

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" <!-- make sure this is not wrap_content !--> android:layout_height="match_parent" android:orientation="horizontal" android:gravity="right" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="A"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="B"/> </LinearLayout