左右对齐

时间:2012-04-15 07:06:41

标签: android android-layout

如何布局这样的控件? enter image description here

换句话说 - 一个TextView与左侧对齐,第二个与右侧对齐。当然,应根据屏幕宽度拉伸红色布局。我不知道如何以最好的方式做到这一点。

5 个答案:

答案 0 :(得分:4)

您可以根据需要使用以下布局::

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent" 
    android:background="#ffffff" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" android:layout_alignParentRight="true"/>

    </RelativeLayout>

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" android:layout_alignParentRight="true"/>

    </RelativeLayout>

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" android:layout_alignParentLeft="true"/>

        <TextView
            android:id="@+id/textView6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" android:layout_alignParentRight="true"/>

    </RelativeLayout>

</LinearLayout>

答案 1 :(得分:2)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent" 
    android:background="#ffffff" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" android:layout_alignParentRight="true"/>


        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView"  android:layout_below="@+id/textView1"/>

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" android:layout_alignParentRight="true"
            android:layout_below="@+id/textView2"/>


        <TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" android:layout_alignParentLeft="true"
             android:layout_below="@+id/textView3"/>

        <TextView
            android:id="@+id/textView6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" android:layout_alignParentRight="true"
            android:layout_below="@+id/textView4"/>

</RelativeLayout>

答案 2 :(得分:0)

您可以使用RelativeLayouts。然后只需将文本视图定位为

 android:layout_alignParentRight="true"

以下是此类布局的链接:

Android Relative Layout

答案 3 :(得分:0)

您可以将整个视图转换为一个RelativeLayout,并使用layout_alignParentLeft,layout_alignParentRight将Textview粘贴到视图的左侧和右侧,然后使用layout_alignBaseline将Textview保持在每个侧面级别。然后layout_below放下Textview的下一行。

或者,你可以使用LinearLayout来layout_width =“match_parent”,然后使用上面相同的方法将红框变成RelativeLayout。

但是,我建议你检查每种类型的布局,看看每个容器的特性,然后决定哪个最适合你的整个视图,但请记住,你在屏幕上看到的视图/布局越多,效果越好某些设备的性能。 :)

答案 4 :(得分:0)

您可以使用RelativeLayout,但同一行中这两个视图的一个视图应该具有一定的固定宽度。如果您确定右视图不会使宽度大于某个宽度,那么您也可以将wrap_content分配给宽度,但如果第二个视图可能占用全屏宽度,则必须为布局指定一些固定宽度。

因此将LayoutParams设置为左视图和右视图,如下所示: LeftView:

Layout_width = fill_parent,Layout_height = wrap_content,layout_toLeftOf = @ + id / rightView,

SecondVIew:

Layout_width = wrap_content,Layout_height = wrap_content,layout_alignParentRight = true