如何使用RTL水平方向创建android linearlayout

时间:2013-12-17 11:25:32

标签: java android android-layout layout

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

但是我希望它将其子项与其右侧对齐,而不是像往常一样对齐

我该怎么做?

我知道如何使用relativeLayout执行此操作,但我想练习linearLayout

4 个答案:

答案 0 :(得分:27)

答案 1 :(得分:9)

如果您使用的是Android工作室,则可以执行此操作:

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

2-重构

3-添加对RTL的支持

答案 2 :(得分:5)

您可以使用此代码段来反转布局视图。

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));
}

OR 要在您的应用程序中开始支持RTL布局,请将android:supportsRtl属性设置为清单文件中的元素并将其设置为“true”。启用此功能后,系统将启用各种RTL API以使用RTL布局显示您的应用程序。例如,操作栏将在右侧显示图标和标题,在左侧显示操作按钮,并且您使用框架提供的View类创建的任何布局也将被反转。 Look at this android doc

答案 3 :(得分:2)

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

<?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