在ConstraintLayout
中,ImageView
与其父母绑定在一起:
因此,我的ImageView
似乎是全宽,其高度是小部件和屏幕底部之间的距离。
<ImageView
android:id="@+id/imageView16"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="horizontal"
android:background="@drawable/ic_background_stars"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/linearLayout4"
app:layout_constraintBottom_toBottomOf="parent"
/>
问题是它包含的SVG也是全宽的,但是比例已被破坏:就高度而言,它还不够大。所以SVG是distorded。
如何以全宽(从左侧屏幕到右侧)显示SVG,保持其比例(使其高度足够大)?
除了最后一个答案之外,您的图像未正确缩放的原因是因为您将其用作背景。
你的代码..
android:background="@drawable/ic_background_stars"
相反,将其用作图像资源。
app:srcCompat="@drawable/ic_background_stars"
ImageView的默认缩放类型应该为您完成工作。此外,您甚至可以尝试各种比例类型。
我认为如果您的图像,您可以使用app:layout_constraintDimensionRatio="your ratio"
来保持纵横比
例如,如果你想要方形,你需要相同的宽度和高度,所以使用 - app:layout_constraintDimensionRatio="1:1"