1

我想将图像显示为我的活动的背景,但希望在不更改图像纵横比的情况下将其填充到屏幕上(类似这样)。

我尝试缩放图像,但这似乎不起作用(因为我使用图像作为背景,而不是在图像视图中定义它,或者似乎是问题所在)。

我该怎么做呢?我什至尝试在它自己的 xml 文件中定义背景图像,但这仍然不起作用。

4

2 回答 2

4

如果您使用 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>
于 2013-03-10T17:30:28.287 回答
0

AFAIK 唯一的解决方案是您提到的带有 ImageView 的解决方案。为什么它不适合你?您还可以使用 Bitmap.createBitmap() 方法来调整位图的大小以达到所需的大小。

于 2013-03-10T17:24:34.360 回答