我的视图无法在ConstraintLayout中正确显示

时间:2018-03-20 08:15:45

标签: android android-layout android-studio android-constraintlayout

我的观点无法在ConstraintLayout中正确显示,我觉得我的代码没有任何问题:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <!--other view-->

    <android.support.constraint.ConstraintLayout
        android:id="@+id/goods_info_view_"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:paddingBottom="13dp"
        android:paddingLeft="15dp"
        android:paddingTop="13dp"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/address">

        <!--other view-->

        <android.support.constraint.ConstraintLayout
            android:id="@+id/goods_view"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:paddingBottom="13dp"
            android:paddingRight="15dp"
            android:paddingTop="13dp"
            app:layout_constraintDimensionRatio="3:1"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/shop_view">

            <com.facebook.drawee.view.SimpleDraweeView
                android:id="@+id/goods_img"
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:background="#636556"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintDimensionRatio="H,1:1"
                app:layout_constraintTop_toTopOf="parent"/>

            <TextView
                android:id="@+id/goods_title"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:ellipsize="end"
                android:lines="2"
                android:maxLines="2"
                android:minLines="2"
                android:paddingLeft="10dp"
                android:text="@string/test_long"
                android:textColor="@android:color/black"
                android:textSize="13sp"
                app:layout_constraintLeft_toRightOf="@+id/goods_img"
                app:layout_constraintRight_toRightOf="parent"
                app:layout_constraintTop_toTopOf="parent"/>

            <TextView
                android:id="@+id/goods_SPEC"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:ellipsize="end"
                android:lines="2"
                android:maxLines="2"
                android:minLines="2"
                android:paddingLeft="10dp"
                android:text="@string/test_short"
                android:textSize="12sp"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintLeft_toRightOf="@+id/goods_img"
                app:layout_constraintRight_toRightOf="parent"/>

        </android.support.constraint.ConstraintLayout>
    </android.support.constraint.ConstraintLayout>

    <TextView
        android:id="@+id/parts_list"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:background="@android:color/holo_red_dark"
        android:paddingBottom="15dp"
        android:paddingLeft="15dp"
        android:paddingRight="15dp"
        android:paddingTop="20dp"
        android:text="@string/parts_list"
        android:textColor="@android:color/black"
        android:textSize="@dimen/font_subtitle"
        android:textStyle="bold"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/goods_info_view_"/>

    <View
        android:layout_width="0dp"
        android:layout_height="1dp"
        android:background="@android:color/black"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/parts_list"/>

</android.support.constraint.ConstraintLayout>

这是它的样子:

this's preview img

TextView ID parts_list未显示。

经过多次尝试找到问题,我发现ImageView(id:goods_img)的高度影响了外ConstraintLayout的高度,但我不知道是什么原因是。有谁知道答案?

1 个答案:

答案 0 :(得分:0)

将根ConstraintLayout的高度更改为:android:layout_height="match_parent"> BTW。 ConstraintLayout的想法是防止像你一样拥有多个嵌套布局。