3
<LinearLayout
    android:id="@+id/layout_information"
    android:layout_width="0dp"
    android:layout_height="fill_parent"
    android:layout_weight="0.17"
    android:gravity="center"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/text_view_destination"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="\@ Home in"
        android:textColor="@color/solid_white"
        android:textSize="19sp"
        android:textStyle="bold" 
        android:layout_gravity="bottom"
        />

    <TextView
        android:id="@+id/text_view_time"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="30dp"
        android:textColor="@color/solid_white"
        android:textSize="25sp"
        android:textStyle="normal" 
        android:layout_gravity="bottom"
        />
</LinearLayout> 

我想将两个文本视图垂直居中,

但我希望它们与底部的一条线对齐。

现在它们排成一条线,

但它们位于父布局的底部。

我怎样才能做到这一点?

我曾想过用另一个布局(“parent2”)包装他们当前的布局父级(“parent1”)

并使“parent1”位于“parent2”的中心。

有没有其他不添加元素的方法?

4

2 回答 2

5

如果您的问题是两个视图都在其父视图的底部对齐,您可以使用它。两个视图仍然对齐到相同的底部并在屏幕上居中。

您的布局看起来像是更大 XML 的一部分(权重 = 0.17),这就是我在 layout_width 上使用 fill_parent 的原因。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_information"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="0.17"
android:gravity="center"
android:orientation="horizontal" >

    <TextView
    android:id="@+id/text_view_destination"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:text="\@ Home in"
    android:textColor="@color/solid_white"
    android:textSize="19sp"
    android:textStyle="bold" />

    <TextView
    android:id="@+id/text_view_time"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"        
    android:layout_marginLeft="30dp"
    android:text="\@ Home in"
    android:textColor="@color/solid_white"
    android:textSize="25sp"
    android:textStyle="normal"
    android:layout_alignParentBottom="true"
    android:layout_toRightOf="@id/text_view_destination"
    android:layout_alignBaseline="@id/text_view_destination" />

</RelativeLayout>
于 2013-09-10T09:35:34.947 回答
0

试试这个方法

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layout_information"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:gravity="center_vertical|bottom"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/text_view_destination"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:text="HOme in"
        android:textColor="@color/solid_white"
        android:textSize="19sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/text_view_time"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:textColor="@color/solid_white"
        android:textSize="25sp"
        android:text="Home out"
        android:textStyle="normal" />

</LinearLayout>
于 2013-09-10T09:28:19.650 回答