我在XML布局中定义了以下元素
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true">
<android.support.constraint.ConstraintLayout
android:id="@+id/inputLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusableInTouchMode="true"
android:visibility="visible">
<!--some more elements up here that I left out -->
<TextView
android:id="@+id/assetImageTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:text="@string/asset_photo_header"
android:textAppearance="@android:style/TextAppearance.Material.Medium"
android:textColor="@color/colorAccent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/uploadRemarksEditText" />
<ImageView
android:id="@+id/assetImageView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:adjustViewBounds="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView10"
/>
<TextView
android:id="@+id/barcodeImageTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:text="@string/asset_barcode_photo_header"
android:textAppearance="@android:style/TextAppearance.Material.Medium"
android:textColor="@color/colorAccent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/assetImageView" />
<ImageView
android:id="@+id/assetBarcodeImageView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:adjustViewBounds="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/barcodeImageTextView" />
</android.support.constraint.ConstraintLayout>
</ScrollView>
理想的结构是:
资产照片标题
资产照片ImageView
条码照片标题
条码照片ImageView
现在,当布局首次膨胀时,一切看起来都还可以。当设置资产ImageView的图像时,它显然会扩展ImageView高度 - 但是,这样做似乎重叠(并隐藏)应该在其下面的其余元素。
我在下面提供了截图供演示:
我尝试过的事情:
imageView.getParent().requestLayout();
imageView.requestLayout();
barcodeImageTextView.requestLayout();
非常感谢您的任何想法。
事实证明,它可能是ConstraintLayout的一个错误,我偶然发现了一个不同的问题的答案,建议使用测试版。
implementation 'com.android.support.constraint:constraint-layout:1.1.0-beta5'
问题现已解决!