如何使用不同的字体大小居中两个textView

时间:2013-09-10 09:03:29

标签: java android android-layout layout

<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> 

我想垂直居中两个textViews

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

现在他们注定了相同的底部,

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

我该怎么做?

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

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

有没有添加元素的另一种方式?

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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>