TextView文本对齐太可怕了!如何解决它?

时间:2012-01-04 15:28:32

标签: android android-layout android-view

我似乎总是在布局上对齐文本时遇到的最大问题。好像TextView没有正确测量其文本。报告的TextView宽度和高度比实际文本大很多。人们可以期望TextView的宽度和高度紧紧围绕文本。

下图显示了数字18和文本“SEC”在同一底部基线上的对齐方式。这是因为较大的文本高度比文本大很多。我的xml布局如下所示。

如何实现更好的文本对齐准确度?

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:background="@drawable/scan_block_1_bg" >

    <LinearLayout
        android:id="@+id/staticCountDown"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:gravity="center"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/tvStaticScanning"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:shadowColor="#ffffff"
            android:shadowDy="1.0"
            android:shadowRadius="0.01"
            android:text="SCANNING"
            android:textColor="#878787"
            android:textSize="20sp" />

        <TextView
            android:id="@+id/tvCountDown"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:shadowColor="#66000000"
            android:shadowDy="-1.0"
            android:shadowRadius="0.01"
            android:text="03"
            android:textColor="#b6b6b6"
            android:textSize="81sp" />
    </LinearLayout>

    <TextView
        android:id="@+id/tvStaticSeconds"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@id/staticCountDown"
        android:layout_toRightOf="@id/staticCountDown"
        android:gravity="left"
        android:shadowColor="#ffffff"
        android:shadowDy="1.0"
        android:shadowRadius="0.01"
        android:text="SEC"
        android:textColor="#878787"
        android:textSize="12sp" />
</RelativeLayout>

enter image description here

2 个答案:

答案 0 :(得分:4)

//在TextView中使用此属性

 android:layout_alignBaseline="@id/staticCountDown"

android:layout_marginBottom="-10dp"

答案 1 :(得分:1)

如果您查看屏幕截图,可能会发出奇怪的声音。两个文本视图都具有相同的底部对齐方式。尝试在电视倒计时中输入字母“gj”。实际上你可以看到两者都具有相同的底部对齐。最好用padma Kumar的答案。