如何在LinearLayout / scrollview中对齐对象

时间:2013-05-01 23:01:56

标签: android android-layout

我有一个应用程序,我正在尝试对齐3个textViews。它们位于一个放置在ScrollView内部的LinearLayout(垂直方向)内。

如果我不使用ScrollView和LinearLayout,我可以让所有三个在屏幕左边一个对齐,另一个在右边。

但是当我使用ScrollView和LinearLayout时,我只能在底部对齐它们,而不是在右边。

有些人可以帮我在ScrollView中对齐这三个文本视图吗?

这是我正在使用的代码:

<ScrollView
android:layout_width="fill_parent"
android:layout_height="250dp" > 
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="250dp"
        android:orientation="vertical" >

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="40dp"
           android:layout_marginLeft="25dp"
        android:text="one"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView2"
        android:layout_alignBottom="@+id/textView2"
        android:layout_marginLeft="25dp"
        android:layout_toRightOf="@+id/textView2"
        android:text="two"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView3"
        android:layout_alignBottom="@+id/textView3"
        android:layout_marginLeft="22dp"
        android:layout_toRightOf="@+id/textView3"
        android:text="three"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</LinearLayout> 

我需要代码是这样的:

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/scrollView1"
    android:layout_marginTop="40dp"
    android:text="one"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/textView2"
    android:layout_alignBottom="@+id/textView2"
    android:layout_marginLeft="25dp"
    android:layout_toRightOf="@+id/textView2"
    android:text="two"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
    android:id="@+id/textView4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/textView3"
    android:layout_alignBottom="@+id/textView3"
    android:layout_marginLeft="22dp"
    android:layout_toRightOf="@+id/textView3"
    android:text="three"
    android:textAppearance="?android:attr/textAppearanceLarge" />

2 个答案:

答案 0 :(得分:1)

使用RelativeLayout而不是LinearLayout

答案 1 :(得分:0)

使用相对布局而不是LinearLayout。 并且不要使用

机器人:layout_toRightOf = “@ + ID / textView3”

在班轮布局中