我想将图像显示为我的活动的背景,但希望在不更改图像纵横比的情况下将其填充到屏幕上(类似这样)。
我尝试缩放图像,但这似乎不起作用(因为我使用图像作为背景,而不是在图像视图中定义它,或者似乎是问题所在)。
我该怎么做呢?我什至尝试在它自己的 xml 文件中定义背景图像,但这仍然不起作用。
如果您使用 RelativeLayout,您可以放置一个 ImageView 而不是填充所有布局并将其余部分放在上面。像这样的东西:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/background" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
// Your full layout
</LinearLayout>
</RelativeLayout>
AFAIK 唯一的解决方案是您提到的带有 ImageView 的解决方案。为什么它不适合你?您还可以使用 Bitmap.createBitmap() 方法来调整位图的大小以达到所需的大小。