Java CardView内部约束展开重叠边
我想让两个CardView相邻,但由于它们内部的ImageView比CardView大,因此边缘重叠。两边的边距应与其他卡片的边距相等Java CardView内部约束展开重叠边,java,android,android-layout,android-constraintlayout,Java,Android,Android Layout,Android Constraintlayout,我想让两个CardView相邻,但由于它们内部的ImageView比CardView大,因此边缘重叠。两边的边距应与其他卡片的边距相等 您已经设置了cardwiewswrap\u content的宽度。这就是为什么它需要宽度。给出0dp而不是wrap\u内容。那就行了 <androidx.cardview.widget.CardView android:id="@+id/card_facebook" android:layout_width="
您已经设置了cardwiew
swrap\u content
的宽度。这就是为什么它需要宽度。给出0dp
而不是wrap\u内容
。那就行了
<androidx.cardview.widget.CardView
android:id="@+id/card_facebook"
android:layout_width="0dp"
android:layout_height="100dp"
android:layout_gravity="start"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="10dp"
app:cardCornerRadius="12dp"
app:cardElevation="12dp"
app:layout_constraintEnd_toStartOf="@id/card_instagram"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/card_register">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<ImageView
android:id="@+id/img_facebook"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
app:srcCompat="@drawable/img_facebook" />
</LinearLayout>
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:id="@+id/card_instagram"
android:layout_width="0dp"
android:layout_height="100dp"
android:layout_gravity="end"
android:layout_marginStart="10dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="20dp"
app:cardCornerRadius="12dp"
app:cardElevation="12dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/card_facebook"
app:layout_constraintTop_toBottomOf="@id/card_register">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<ImageView
android:id="@+id/img_instagram"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
app:srcCompat="@drawable/img_instagram" />
</LinearLayout>
</androidx.cardview.widget.CardView>
谢谢!请问0dp为什么工作?这难道不意味着CardView是不可见的,因为它的宽度为零吗?在ConstraintLayout
中,如果任何子项在任何轴上都有约束(如结束和开始,或顶部和底部),则0dp意味着采用全长。您的卡片视图对“结束”和“开始”都有约束。这就是使用0dp解决问题的原因。