Android文字对齐 - 像素完美

时间:2012-12-30 15:45:56

标签: android android-layout textview

在下面的屏幕截图中,我试图让蓝色框中的文字在中心对齐。它是降低,需要提升一个像素或两个像素。我一直在玩填充物,但似乎没有任何效果。

enter image description here

布局XML在这里:

<RelativeLayout  xmlns:tools="http://schemas.android.com/tools"
android:orientation="horizontal"
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:layout_marginRight="5dp"
xmlns:android="http://schemas.android.com/apk/res/android">

        <TextView android:id="@+id/tvName" 
        android:layout_width="60dp" 
        android:layout_height="20dp" 
        android:layout_marginLeft="10dp" 
        android:layout_marginRight="10dp" 
        android:layout_marginTop="3dp" 
        android:background="@drawable/rectanglesegment" 
        android:gravity="center"
        android:paddingBottom="2dp" 
        android:text="XXX" android:textSize="16sp" 
        android:textAppearance="?android:attr/textAppearanceMedium"/>

有什么建议吗?

在@Snicolas的反馈后,我现在有以下内容:

enter image description here

使用此布局

<TextView android:id="@+id/tvName" 
android:layout_width="60dp" 
android:layout_height="fill_parent" 
android:layout_marginLeft="10dp" 
android:layout_marginRight="10dp" 
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:background="@drawable/rectanglesegment" 
android:gravity="center"
android:text="abv" android:textSize="16sp" 
android:textAppearance="?android:attr/textAppearanceMedium"/>

3 个答案:

答案 0 :(得分:2)

看起来顶部的额外空间只是font padding(对于重音等)。试试这个:

<TextView
    ...
    android:includeFontPadding="false"
/>

答案 1 :(得分:0)

如何使用android:lineSpacingExtraandroid:lineSpacingMultiplier进行游戏?这些XML属性调用setLineSpacing()

  

public void setLineSpacing (float add, float mult)

     

设置此TextView的行间距。每条线都有它的高度   乘以mult并添加add

答案 2 :(得分:0)

您应该查看背景图片 - rectanglesegment。它可能是9个补丁图像,需要调整。