Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java CardView内部约束展开重叠边_Java_Android_Android Layout_Android Constraintlayout - Fatal编程技术网

Java 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="

我想让两个CardView相邻,但由于它们内部的ImageView比CardView大,因此边缘重叠。两边的边距应与其他卡片的边距相等


您已经设置了
cardwiew
s
wrap\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解决问题的原因。