如何将视图放在具有动态文本的textview下面

时间:2013-10-17 10:58:31

标签: android android-layout

我最近开始学习android。我正在创建一个类似

的布局

Layout

在图片中:我点击按钮文字将填充一些值 然后我希望动态调整第二个文本的位置。

目前两者都重叠。

我的XML文件是

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="0dip"
    android:layout_weight="2.5" >

    <Button
        android:id="@+id/get_address_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:onClick="getAddress"
        android:text="@string/get_address" />

    <TextView
        android:id="@+id/label_address"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/get_address_button"
        android:layout_marginTop="21dp"
        android:text="@string/address"
        android:textSize="12sp" />

    <ProgressBar
        android:id="@+id/address_progress"
        style="@android:style/Widget.ProgressBar.Large"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/label_address"
        android:layout_centerHorizontal="true"
        android:indeterminate="true"
        android:visibility="gone" />

    <TextView
        android:id="@+id/address"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/label_address"
        android:layout_marginLeft="10dp"
        android:layout_toRightOf="@+id/label_address"
        android:textIsSelectable="true"
        android:textSize="20sp" />

    <TextView
        android:id="@+id/label_distance"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/label_address"
        android:layout_marginTop="21dp"
        android:text="@string/distance"
        android:textSize="12sp" />

    <Spinner
        android:id="@+id/location_spinner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/label_distance"
        android:layout_toRightOf="@+id/label_distance"
        />
</RelativeLayout>

任何帮助。

由于

3 个答案:

答案 0 :(得分:1)

试试这个布局

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="match_parent" >

    <Button
        android:id="@+id/get_address_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:onClick="getAddress"
        android:text="getAddress" />

    <LinearLayout
        android:id="@+id/text_parent"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/get_address_button" >

        <TextView
            android:id="@+id/label_address"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_marginTop="21dp"
            android:text="Address 
        this is line 1
        this is line 2
        this is line 3
        "
            android:textSize="12sp" />

        <TextView
            android:id="@+id/address"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/label_address"
            android:layout_marginLeft="10dp"
            android:layout_toRightOf="@+id/label_address"
            android:textIsSelectable="true"
            android:textSize="20sp" />
    </LinearLayout>

    <ProgressBar
        android:id="@+id/address_progress"
        style="@android:style/Widget.ProgressBar.Large"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/label_address"
        android:layout_centerHorizontal="true"
        android:indeterminate="true"
        android:visibility="gone" />

    <TextView
        android:id="@+id/label_distance"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/get_address_button"
        android:layout_marginTop="21dp"
        android:text="Distance"
        android:textSize="12sp" />

    <Spinner
        android:id="@+id/location_spinner"
        android:layout_width="120dp"
        android:layout_height="60dp"
        android:layout_below="@+id/text_parent"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp" />

</RelativeLayout>

答案 1 :(得分:0)

使用RelativeLayout和属性android:below="@+id/idofyourmultilineedittext"执行此操作 希望它有所帮助

答案 2 :(得分:0)

我不知道你想把它放在哪里,但是如果你想把你的第二个文字放在左/右/底部/顶部那么你可以做这样的事情

1)参考你的第二个文本视图并使用  的 yourTextView.setGravity(GRAVITY.LEFT /右/上/ BOTTOM)