我有2个相邻的client_OpenReadCompleted
,每个都有不同的字符串,且其字体大小也不同。我希望每个TextView
中的文本都具有相同的基线。我该怎么办?
这是我的布局:
TextView
这是当前行为,请注意2个 <LinearLayout
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:background="@color/colorAccentLight"
android:textSize="18sp"
style="@style/Base.TextAppearance.AppCompat.Medium"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="bottom"
android:textAlignment="gravity"
android:text="30"
/>
<TextView
android:background="@color/colorAccent"
android:text="hello"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="bottom"
android:textAlignment="gravity"
/>
</LinearLayout>
的基准线是如何不同的(“ hello”比30个基准线低),因为每个TextView
的字体大小都不同。>
答案 0 :(得分:6)
在ConstraintLayout
中,您可以简单地使用
app:layout_constraintBaseline_toBaselineOf="@+id/textView1"
答案 1 :(得分:1)
将两个TextView
元素的高度都更改为wrap_content
。默认情况下,水平LinearLayout
将自动对齐TextView子级的基线。
如果您当前使用match_parent
来获取高度以具有全高背景色,则必须考虑另一种方法来实现。也许可以在LinearLayout
上使用背景色,然后仅在较大的TextView
上指定背景色;这将产生与今天相同的效果。