android - 约束布局约束尺寸比不适用于多个视图
问题描述
我遇到了约束尺寸比的问题。图像视图的宽度和高度未调整。我想根据比例制作图像拇指视图正方形。我希望图像拇指的宽度和高度等于布局中给出的三个文本视图的总高度。当前代码也没有将图像加载到图像视图中。
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintAList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/audioThumb"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:background="@drawable/ic_headset"
android:scaleType="centerCrop"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintBottom_toBottomOf="@id/audioDetail"
app:layout_constraintEnd_toStartOf="@id/audioName"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/audioName"
app:shapeAppearanceOverlay="@style/roundImageView" />
<TextView
android:id="@+id/audioName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:includeFontPadding="false"
android:maxLines="2"
android:lines="2"
android:padding="0dp"
android:text="audioName"
app:layout_constraintBottom_toTopOf="@+id/audioTime"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/audioThumb"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed" />
<TextView
android:id="@+id/audioTime"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:gravity="top|start"
android:includeFontPadding="false"
android:padding="0dp"
android:singleLine="true"
android:text="audioDate"
android:textAlignment="textStart"
app:layout_constraintBottom_toTopOf="@id/audioDetail"
app:layout_constraintEnd_toEndOf="@id/audioName"
app:layout_constraintStart_toStartOf="@id/audioName"
app:layout_constraintTop_toBottomOf="@+id/audioName" />
<TextView
android:id="@+id/audioDetail"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:gravity="top|start"
android:includeFontPadding="false"
android:padding="0dp"
android:singleLine="true"
android:text="audioDuration"
android:textAlignment="textStart"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@id/audioTime"
app:layout_constraintStart_toStartOf="@id/audioTime"
app:layout_constraintTop_toBottomOf="@+id/audioTime" />
</androidx.constraintlayout.widget.ConstraintLayout>
解决方案
对于图像视图
- 设置
android:layout_height="0dp"
和 - 消除
app:layout_constraintEnd_toStartOf="@id/audioName"
推荐阅读
- jms - JMS 客户端和 JMS 代理有什么区别?
- spring-boot - 如何从 Spring Boot 项目中仅导出一些包并在另一个非 Spring Boot 项目中执行它?
- python - 为给定类别创建唯一标识符(Python)
- 3d - 计算/实现两个具有 9 个自由度的边界框的真实 3D 并集交点 (IoU)
- javascript - 使用正则表达式如何排除邮件域及其子域?
- reactjs - Reactjs在浏览器页面刷新后渲染相同的路由
- php - 扩展运算符 PHP
- javascript - 在 vue js 的子组件中使用 getElementbyId 无法呈现自定义组件的样式
- ios - iOS如何停止文本字段将“--”转换为“--”
- javascript - 有没有办法让对象的值动态地知道它自己的键?