【发布时间】:2019-06-30 04:17:25
【问题描述】:
我想让 Ui 包含两个水平相邻的卡片视图,但在较小尺寸的屏幕中,这之间的空间没有显示它们似乎相互接触,我添加了屏幕左侧和右侧的指南为了检测开始边距和结束边距,我将两张卡片都设置为 wrap_content 以便它们应该适合屏幕 编辑:我使用约束布局作为根布局
<androidx.cardview.widget.CardView
android:id="@+id/id_sale_card"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
app:layout_constraintStart_toStartOf="@+id/guideline"
app:layout_constraintTop_toBottomOf="@+id/view7">
<ImageView
android:id="@+id/imageView4"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginStart="90dp"
android:layout_marginTop="15dp"
android:layout_marginEnd="25dp"
android:background="@drawable/card_images"
android:scaleType="center"
android:src="@drawable/sale" />
<TextView
android:id="@+id/id_sale_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="19dp"
android:layout_marginTop="34dp"
android:layout_marginEnd="98dp"
android:layout_marginBottom="11dp"
android:text="$0.00"
android:textColor="#ff565659" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="18dp"
android:layout_marginTop="15dp"
android:layout_marginEnd="109dp"
android:layout_marginBottom="31dp"
android:text="Sale"
android:textAllCaps="true"
android:textColor="#ff565659"
android:textSize="12sp" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:id="@+id/id_card_earning"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
app:layout_constraintEnd_toStartOf="@+id/guideline2"
app:layout_constraintTop_toBottomOf="@+id/view7">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/imageView8"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginTop="15dp"
android:background="@drawable/card_images"
android:scaleType="center"
android:src="@drawable/earning"
app:layout_constraintStart_toStartOf="@+id/guideline3"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_begin="20dp"
app:layout_constraintGuide_percent="0.65" />
<TextView
android:id="@+id/id_earning_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="19dp"
android:layout_marginTop="34dp"
android:layout_marginEnd="44dp"
android:layout_marginBottom="11dp"
android:text="$0.00"
android:textColor="#ff565659"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/guideline3"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView59"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="17dp"
android:layout_marginTop="15dp"
android:layout_marginEnd="29dp"
android:maxLines="1"
android:text="Earning"
android:textAllCaps="true"
android:textColor="#ff565659"
android:textSize="12sp"
app:layout_constraintEnd_toStartOf="@+id/guideline3"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
【问题讨论】:
-
您没有将两张卡相互限制。您只限制了第一条到左侧指南的开始和第二条到右侧指南的结束。如果屏幕尺寸较小,这可能会与卡片重叠
-
你能发布完整的 xml 代码吗?尤其是“@+id/guideline”。因为在您的图像中看不到两个卡片视图之间的任何垂直线。
-
@kaveh 这是我要测试的全部代码,即使我在它们之间添加了约束,右卡的一部分不在屏幕上
标签: android android-layout responsive-design android-constraintlayout