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

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

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

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

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


当前回答

据我所知,这是大多数小部件固有的,不同的手机制造商“填充”的数量不同。这个填充实际上是图像边界和9补丁图像文件中的图像之间的空白。

例如,在我的Droid X上,旋转窗口小部件比按钮有更多的空白,这让你在旋转窗口内嵌一个按钮时看起来很尴尬,但在我妻子的手机上,同样的应用程序没有同样的问题,看起来很棒!

我唯一的建议是创建自己的9个补丁文件,并在应用程序中使用它们。

啊,Android的痛苦。

编辑:澄清填充和空白。

其他回答

在imageviewxml中使用这个

android: adjustViewBounds = " true "

setIncludeFontPadding (boolean includepad)

或者在XML中是:

android:includeFontPadding="false"

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

我搜索了很多正确的答案,但没有在哪里我可以找到一个答案,完全可以从TextView删除所有的填充物,但最后通过官方文档得到了一个工作围绕单行文本

android:includeFontPadding="false"
android:lineSpacingExtra="0dp"

将这两行添加到TextView xml中就可以了。 第一个属性删除为重音保留的填充,第二个属性删除为保持两行文本之间适当的空间而保留的间距。

确保不要在多行TextView中添加lineSpacingExtra="0dp",因为它可能会使外观笨拙

更新XML

android:fontFamily="monospace"
android:includeFontPadding="false"

这也惹恼了我,我发现的答案是,实际上有额外的空间在字体本身,而不是TextView。对于一个文档出版背景的人来说,Android对排版元素的有限控制是相当令人恼火的。我建议使用自定义字体(如Bitstream Vera Sans,它是授权重新分发的),可能不会有这个问题。不过,我不确定它是否确实如此。