[英]Remove top and bottom spacing in TextView
如何删除文本顶部和底部的间距? 我想让两个文本相互接触,或者至少减少文本之间的间距。
我看过其他推荐设置android:includeFontPadding="false"
的帖子,但这不起作用。
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="96sp"
android:text="TEXT1"
android:background="@color/primaryColor"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="96sp"
android:text="TEXT2"
android:background="@color/secondaryColor"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/textView" />
问题是这不仅仅是空白——它是字体的上升和下降,像g的下部这样的地方。 TextView
必须有那个空间,因为它不知道你不会使用它。 includeFontPadding
会影响上升顶部的一些重音,因此您可以删除一点空间,但它的 rest 是必需的。
没有得到没有上升和下降的字体,老实说,我认为你能做的最好的事情是将下部TextView
的顶部限制到上部的顶部,并添加一个marginTop
值,将它向下移动到你想要的位置。 使用sp值而不是dp以便它保持相对于用户的字体大小偏好 - 如果您更改字体,则需要对其进行调整。 并且背景必须是分开的,在文本视图后面,如果你使用那些
如果您不惜一切代价绝对想要这个,那么您可以执行以下操作,我尚未检查它是否适用于不同的屏幕尺寸。 但是您可以将它们的顶部都附加到同一个视图,可以是父视图,然后使背景透明,如果您选择不同的颜色,那么这将不起作用,保持文本全部大写,这样常规字母就不能再高 go或更低。 根据您将在 dp 中给出的文本大小保持边距。 这可能是“我以任何方式想要这个”的方法,而不是可接受的方法。
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="95dp"
android:text="TEXT1"
android:background="@android:color/transparent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginTop="0dp"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:text="TEXT2"
android:textSize="95dp"
android:layout_marginTop="75dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
你可以用Space
视图做一些聪明的事情来完成这项工作:
<TextView android:id="@+id/textView1"
[other TextView stuff]
app:layout_constraintTop_toTopOf="parent"/>
<Space android:id="@+id/space"
android:layout_marginBottom="20dp"
app:layout_constraintBottom_toBottomOf="@id/textView1"/>
<TextView android:id="@+id/textView2"
[other TextView stuff]
app:layout_constraintTop_toBottomOf="@id/space"/>
然后在Space
视图中调整 margin 参数,直到文本出现在您想要的位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.