android - 如何将android布局的元素放在另一个上
问题描述
我有以下问题:我想在 android 布局文件中将 CardView 放在另一个 CardView 上。所以在 android studio 布局编辑器中,结果是这样的,这就是我想要的:cardView 在矩形 CardView 的右上角,在相同的高度
但是如果我启动模拟器,结果是这样的:
这是两个cardView的代码:
<androidx.cardview.widget.CardView
android:id="@+id/dati1h"
android:layout_width="300dp"
android:layout_height="483dp"
android:layout_marginTop="90dp"
android:layout_marginBottom="162dp"
app:cardCornerRadius="8dp"
app:cardElevation="5dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:id="@+id/info"
android:layout_width="40dp"
android:layout_height="40dp"
app:cardCornerRadius="100dp"
app:layout_constraintBottom_toBottomOf="@id/dati1h"
app:layout_constraintEnd_toEndOf="@id/dati1h"
app:layout_constraintStart_toStartOf="@id/dati1h"
app:layout_constraintTop_toTopOf="@id/dati1h"
android:layout_marginBottom="480dp"
android:layout_marginStart="290dp"
android:clickable="true"
android:focusable="true"
app:cardElevation="5dp">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_info_foreground"/>
</androidx.cardview.widget.CardView>
我真的不知道如何解决它。谢谢您的帮助!
解决方案
info
在您声明CardView 之后,我看不到代码有问题,dati1h
这意味着 info cardView 应该在 dati1h 上呈现。但这可能是我之前遇到过类似问题的设备特定问题(对于约束布局)。
为了解决它,我选择增加高度,这肯定会解决它。
但是由于您不想遵循这种方法,请尝试使用 Frame/Relative Layout 作为 CardView(而不是约束布局)的父级,它应该可以解决您的问题。
推荐阅读
- angular - Angular 6 路由器中的错误
- django - 无法更新一对一的 Django 模型
- android - Android/Kotlin/GraphView - 自动增加 x 坐标的值,并且不显示 X 轴上的标签
- python - OpenCV Crop Hough Circles Python不工作
- marklogic - ML 9.0.5 的 MarkLogic-typescript-definition 库更新
- authentication - 使用 apache nutch 抓取基于身份验证的页面
- sql - 探索文件表目录已禁用
- firebase - Firebase 功能和通知无法正常工作
- python - 展平后索引在 Numpy 中返回错误
- php - mysql 输出在使用双引号和分段时显示“\r\n\r\n”和“\”。如何摆脱?