Android应用中TextView无法显示 其他控件正常加载问题求助
问题根因
- 控件宽高计算异常:在ConstraintLayout中
0dp代表匹配约束的宽高,你当前给TextView同时设置了上下左右四个方向的硬编码边距,其中底部边距高达625dp,绝大多数手机屏幕的高度减去上下边距后得到的可用高度为负数,最终TextView实际宽高被系统计算为0,所以无法显示。 - 额外排查项:检查TextView的文字颜色是否和父布局背景色重合,也会导致视觉上看不到控件。
修复方案
推荐使用自适应尺寸加约束的写法,适配所有屏幕尺寸,替换原有TextView代码即可:
<TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Wishlist stuff" android:textSize="18sp" android:layout_marginTop="87dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" />
修改说明:
- 宽高设置为
wrap_content,让控件自动跟随文字内容调整大小,避免出现宽高为0的问题 - 仅保留顶部边距和水平居中约束,符合标题的展示需求,不会因为屏幕尺寸变化出现控件消失的问题
如果需要保留0dp的约束匹配写法,直接删除原代码中的android:layout_marginBottom="625dp"属性即可。
内容的提问来源于stack exchange,提问作者lhc 2016
相关产品推荐
相关产品推荐

