我正在尝试以1220:1000的尺寸比例和最大300dp的最大高度显示以父级为中心的图像(即使在大屏幕上也要保持较小的图像)
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/image"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginStart="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
android:adjustViewBounds="true"
android:scaleType="centerInside"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintDimensionRatio="1220:1000"
app:layout_constraintHeight_max="200dp" ==> This line break the ratio (the image is not displayed)
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
app:layout_constraintHeight_max
属性打破了比率。有办法吗?
最佳答案
如果要强制执行max_height
并同时保持尺寸比例,则需要根据高度限制宽度。您可以通过将W
添加到您的比率中来实现:app:layout_constraintDimensionRatio="W,1220:1000"
这将首先限制高度,然后相应地设置宽度以满足比率。
有关此尺寸比例如何工作的更多信息,请参见documentation。