android - 如何根据android里面的imageView调整cardView?
问题描述
我想让我的cardView根据里面imageView的宽度和高度自行调整,达到这样的效果。
但是我在设计方面没有真正的经验,所以我遇到了麻烦。这是我正在使用的代码
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp">
<TextView
android:id="@+id/imageTimeMessageSent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="9:16 AM"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/cardView4"
app:layout_constraintHorizontal_bias="0.7"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.98" />
<androidx.cardview.widget.CardView
android:id="@+id/cardView4"
android:layout_width="230dp"
android:layout_height="230dp"
android:layout_marginEnd="12dp"
app:cardBackgroundColor="?attr/colorPrimary"
app:cardCornerRadius="6dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0">
<ImageView
android:id="@+id/imageMessageSent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="6dp"
android:scaleType="centerInside"
android:src="@drawable/ic_launcher_background"
tools:srcCompat="@drawable/default_profile" />
</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>
该代码适用于大多数图像,但有些图像在 cardView 上留下空间
注意:我也希望有一定的限制,因此 cardView 不会超出该限制
解决方案
只需像这样使cardView 的高度和宽度wrap_content:
<androidx.cardview.widget.CardView
android:id="@+id/cardView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
app:cardBackgroundColor="?attr/colorPrimary"
app:cardCornerRadius="6dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0">
推荐阅读
- google-cloud-platform - 如何将 terraform 文件转换为在 vSphere 而不是 GCP 中配置/创建虚拟机?
- node.js - 从 Express 端点下载 zip 存档
- c++ - 使用 MSVC 编译时 msdpb* 文件的正确用法是什么
- ios - IOS 应用程序上的一次性密码 - 建议未出现在键盘上方
- python - 我可以在 SQL Server Management Studio 上安排 python 脚本吗?
- php - 使用 .htaccess 文件保护 /index.html
- css - CSS按钮文本在访问目标页面时消失,仅在悬停时出现
- testing - ng test --watch=false 测试失败时的 ERR 代码 ELIFECYCLE
- python - 使用多个不同长度的参数循环 GET 请求
- javascript - 即使之前的 console.log 显示该语句应该运行,if 语句也不会运行