如何在LinnearLayouts中将两个TextView彼此对齐?

时间:2018-08-20 23:32:54

标签: java android android-layout android-linearlayout

我正在尝试将两个TextView彼此相邻放置,但是以某种方式我无法使其正常工作。我想要以下内容: txtViewAddress:txtAddress 我试过把android:layout_toRightOf =“ @ id / txtViewAddress” 我也尝试过将layout_toLeftOf放进去,但是都没有用。

希望你们能帮助我。预先感谢。

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

<TextView
    android:id="@+id/CalendarID"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text=""
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:visibility="gone" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <LinearLayout
        android:layout_width="480dp"
        android:layout_height="wrap_content"
        android:orientation="vertical">


        <TextView
            android:id="@+id/txtViewAddress"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Address: "
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textSize="22dp"
            android:textStyle="bold"/>

        <TextView
            android:id="@+id/txtAddress"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toEndOf="@id/txtViewAddress"
            android:text="Hello"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textSize="22dp"
            android:textStyle="bold"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:gravity="right"
        android:orientation="horizontal">

        <Button
            android:id="@+id/btn_update"
            android:layout_width="45dp"
            android:layout_height="35dp"
            android:layout_marginRight="5dp"
            android:layout_marginTop="100dp"
            android:background="@drawable/edit"
            android:focusable="false"
            android:focusableInTouchMode="false"
            android:text="" />

        <Button
            android:id="@+id/btn_delete"
            android:layout_width="38dp"
            android:layout_height="24dp"
            android:layout_marginRight="5dp"
            android:layout_marginTop="100dp"
            android:background="@drawable/delete"
            android:focusable="false"
            android:focusableInTouchMode="false"
            android:text="" />
    </LinearLayout>
</LinearLayout>

4 个答案:

答案 0 :(得分:0)

如果需要在线性布局内彼此相邻的视图,则布局的方向必须为水平。

您还可以使用约束布局,它在将视图放置在屏幕上时具有更大的灵活性。

答案 1 :(得分:0)

android:layout_toRightOf="@id/txtViewAddress"是“相对布局”的精巧部分

使用此代码

<LinearLayout
    android:layout_width="480dp"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/txtViewAddress"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Address: "
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textSize="22dp"
        android:textStyle="bold"/>

    <TextView
        android:id="@+id/txtAddress"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toEndOf="@id/txtViewAddress"
        android:text="Hello"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textSize="22dp"
        android:textStyle="bold"/>

</LinearLayout>

答案 2 :(得分:0)

<LinearLayout
    android:layout_width="480dp"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="2">


    <TextView
        android:id="@+id/txtViewAddress"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Address: "
        android:layout_weight="1"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textSize="22dp"
        android:textStyle="bold"/>

    <TextView
        android:id="@+id/txtAddress"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toEndOf="@id/txtViewAddress"
        android:layout_weight="1"
        android:text="Hello"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textSize="22dp"
        android:textStyle="bold"/>
</LinearLayout>

android:orientation="vertical"更改为android:orientation="horizontal"
并且您还可以使用android:weightSum="2" weightSum来定义视图的优先级
如果您对线性布局内的所有视图赋予相同的权重,则所有视图在线性布局内将占据相等的空间

答案 3 :(得分:0)

这应该像下面的

<LinearLayout
        android:layout_width="480dp"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

.....
......
.....
    </LinearLayout>

而且我建议不要给布局提供固定宽度,而应将其重新设置为屏幕尺寸