当我有一个TextView与一个\n在文本中,,在右边我有两个单线TextViews,一个在另一个之间没有间距。我已经为所有三个textview设置了以下内容。

android:lineSpacingMultiplier="1" 
android:lineSpacingExtra="0pt" 
android:paddingTop="0pt" 
android:paddingBottom="0pt"

第一行的左侧TextView线完美地与右上角TextView。

左TextView的第二行略高于右下TextView的第二行。

似乎有某种隐藏的填充顶部和底部的TextViews。我怎么才能去掉它呢?


当前回答

这招对我很管用:

android:minHeight="0dp"

其他回答

看到这个:

水平对齐ImageView和EditText

似乎EditText的背景图像有一些透明的像素,这也增加了填充。

一种解决方案是将EditText的默认背景更改为其他内容(或者什么都不更改,但EditText没有背景可能是不可接受的)。这可以设置android:background XML属性。

android:background="@drawable/myEditBackground"

我能感受到你的痛苦。我已经尝试了上面的每个答案,包括setIncludeFontPadding为false,这对我没有任何帮助。

我的解决方案吗?layout_marginBottom="-3dp"在TextView给你一个解决方案的底部, 砰!

虽然,-3dp在layout_marginTop失败....ugh。

这招对我很管用:

android:minHeight="0dp"
setIncludeFontPadding (boolean includepad)

或者在XML中是:

android:includeFontPadding="false"

设置TextView是否包括额外的顶部和底部填充,为正常上升和下降之上的重音腾出空间。默认为true。

我认为这个问题可以这样解决:

 <TextView
        android:id="@+id/leftText"
        android:includeFontPadding="false"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="30dp"
        android:text="Hello World!\nhello world" />

 <TextView
        android:id="@+id/rightUpperText"
        android:includeFontPadding="false"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/leftText"
        android:layout_alignTop="@+id/leftText"
        android:textSize="30dp"
        android:text="Hello World!" />

 <TextView
        android:id="@+id/rightLowerText"
        android:includeFontPadding="false"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/leftText"
        android:layout_below="@+id/rightUpperText"
        android:textSize="30dp"
        android:text="hello world" />

结果如下:

ScreenShot-1

ScreenShot-3

虽然rightLowerText中的特殊字符行看起来比leftText中的第二行高一些,但它们的基线仍然是对齐的。