如何移除ConstraintLayout中两个TextView之间的5dp间距?
这两个TextView之间的5dp间距,大概率是以下几个常见原因导致的,你可以逐一排查:
TextView自身的内边距(Padding):
要么textViewStoreTitle设置了android:paddingBottom="5dp",要么textViewStoreSubTitle加了android:paddingTop="5dp",垂直方向的内边距会让两个View看起来有间距。ConstraintLayout的约束边距:
如果用了app:layout_constraintBottom_toTopOf="@id/textViewStoreSubTitle"把标题底部和副标题顶部连起来,可能顺手加了app:layout_constraintBottom_margin="5dp";或者副标题的app:layout_constraintTop_margin="5dp"没删,这俩属性都会直接产生间距。字体默认的额外内边距:
Android的TextView默认会给字体留一些上下的额外padding(用来容纳特殊字符),如果你的字体本身比较紧凑,这个默认padding就会显得像View之间的间距。可以给两个TextView加上android:includeFontPadding="false"试试,关闭这个默认内边距。垂直链的默认间距:
要是这两个TextView是垂直链的一部分,链的样式或者默认设置可能给成员之间加了间距。可以检查app:layout_constraintVertical_chainStyle属性,或者暂时打破链,直接用基础约束试试。父布局或嵌套布局的影响:
如果这两个TextView还嵌套在其他布局里(比如LinearLayout),父布局的padding或者margin也可能间接造成这个间距,得检查外层布局的属性。
优先查padding和margin,这俩是最常见的原因,排查起来也最快。
内容的提问来源于stack exchange,提问作者ant2009

