我正在尝试在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>
使用'center'标签时,它不会拉伸图像,也不会调整图像大小。
有没有办法显示保持原始宽高比的图像(和裁剪边)的整个高度?
答案 0 :(得分: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%" />
答案 1 :(得分:0)
一种解决方案可能是将其转换为9补丁png文件,允许您定义它可以伸展的位置。请参阅http://developer.android.com/guide/topics/graphics/2d-graphics.html,即9个补丁图像末尾附近的部分。