我的目标是显示一个 SVG 背景图像填充整个屏幕的宽度,在ConstraintLayout
. AButton
叠加到此背景图像上,这就是您可以在下面的模型中看到的原因:
背景图像是包含星星的图像。它的开始边和结束边将被限制在 rootGroupView
上,这样它就会完全填满屏幕的宽度。
问题如下:无论我是否将底部绑定到屏幕底部,背景图像都会出现失真,如下图所示:
这是我写的代码:
<ImageView
android:id="@+id/imageView16"
android:layout_width="0dp"
android:layout_height="wrap_content"
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" // "linearLayout4" is just a widget shown above, it's not an important element for this StackOverflow question
/>
<Button
android:id="@+id/button_home_share"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="24dp"
android:background="@color/colorRoyalRedLight"
android:text="TextView"
android:textAllCaps="false"
android:textColor="@color/white"
app:layout_constraintStart_toStartOf="@+id/imageView16"
app:layout_constraintEnd_toEndOf="@+id/imageView16"
app:layout_constraintTop_toTopOf="@+id/imageView16"
app:layout_constraintBottom_toBottomOf="@+id/imageView16"
/>
我的问题
我怎样才能将我的 SVG 图像用作背景图像而不会出现任何失真,填充整个屏幕的宽度?高度当然可以自行调整(以保持良好的比例),但不应比按钮短(在 Y 和 X 中)。