3

我正在尝试在我的 Android 应用程序中设置背景图像。我有一个 JPEG 图像,我想用图像的高度填充屏幕,保持相同的纵横比。

我尝试通过在drawable中创建一个XML位图文件并将其设置为:

android:background="@drawable/background_image"

这是 XML

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/wallpaper1_1920x1200"
    android:tileMode="disabled"
    android:gravity="center" >
</bitmap>

使用“中心”标签,它不会拉伸图像,也不会调整它的大小。

有没有办法显示图像的全高(和裁剪边)保持原始纵横比?

4

2 回答 2

0

您可以使用 Scale Drawable ( http://developer.android.com/guide/topics/resources/drawable-resource.html#Scale )包装您的位图,
然后使用该 drawable 作为布局的背景。

<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/wallpaper1_1920x1200"
    android:scaleGravity="clip_horizontal"
    android:scaleHeight="100%"
    android:scaleWidth="100%" />
于 2013-04-13T15:15:26.360 回答
0

一种解决方案可能是将其转换为 9 补丁 png 文件,允许您定义它可以拉伸和不能拉伸的位置。请参阅http://developer.android.com/guide/topics/graphics/2d-graphics.html,接近末尾的部分有 9 个补丁图像。

于 2013-04-13T15:23:11.177 回答