android - 约束布局文本视图未显示
问题描述
我正在创建一个简单的回收器视图项布局,其中包含约束布局内的图像和文本视图。我将图像的约束设置在左侧,文本从图像的右侧开始到父级的末尾。但是,当我这样做时,屏幕上不会显示文本视图。有人可以帮帮我吗。提前致谢。
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_character_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="2"
android:minHeight="100dp"
android:paddingBottom="20dp"
android:paddingEnd="10dp"
android:paddingStart="10dp"
android:paddingTop="20dp"
android:textSize="24sp"
android:textStyle="bold"
tools:text="Homer"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/img_character_photo"/>
<ImageView
android:id="@+id/img_character_photo"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@color/colorAccent"
android:padding="5dp"
app:layout_constraintStart_toStartOf="parent"
/>
</android.support.constraint.ConstraintLayout>
</layout>
如果我从 textView 中删除 app:layout_constraintEnd_toEndOf="parent" ,我会得到以下结果。
解决方案
我建议您在使用时为每个视图在两个轴上至少连接一个点,ConstraintLayout
即您应该至少垂直连接一个点和水平连接一个点以使其正确。此外,如果您阅读有关如何ConstraintLayout
正确使用的信息,它会告诉您相同的内容。我相信这会解决您的问题(并且您还会在实际设备上看到您的所有视图)。
做这样的事情:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_character_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="2"
android:minHeight="100dp"
android:paddingBottom="20dp"
android:paddingEnd="10dp"
android:paddingStart="10dp"
android:paddingTop="20dp"
android:textSize="24sp"
android:textStyle="bold"
tools:text="Homer Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum
Lorem Ipsum Lorem Ipsum"
app:layout_constraintStart_toEndOf="@id/img_character_photo"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<ImageView
android:id="@+id/img_character_photo"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@color/colorAccent"
android:padding="5dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
屏幕截图(上述代码):
对于屏幕尺寸 - 7.0 英寸(1200 x 1920 像素)[设备:Nexus 7]
更多信息请浏览: https ://codelabs.developers.google.com/codelabs/constraint-layout/index.html#7
我希望这可以帮助你。
推荐阅读
- json - SQL Server sp_OAMethod 在调用 WebAPI 时返回 NULL
- google-apps-script - 如何从 AppMaker 中的 Query 对象中获取排序字段和顺序?
- regex - 使用正则表达式随机大写
- python - Requests / Asyncio:使用 Python 请求会话使 pool_maxsize=1000 有缺点吗?
- node.js - 节点:无法模拟 aws-sdk 方法
- r - 在 Matrix::qr 方法中获取 base::qr 旋转
- javascript - 在 JS (ES3) 上返回带有对象上下文的对象方法
- c# - 如何在不指定类型的情况下调用泛型类的静态方法?
- python - 如何通过向 Python 的内置属性类添加参数而不破坏它来扩展它?
- html - Bootswatch 下拉列表 - 列表的最后一个字符被截断