2012-09-25 40 views
0

我有一张1280 X 720的背景图片,非常适合我的S3。
但是,如果我想要适应其他设备,该怎么做?
例如,如果一个设备是800 X 600,如果我将图像从1280 X 720缩放到800 X 600,图像会有点变形。
此外,我希望图像适合全屏尺寸。
有什么好主意吗?
经过研究,我知道我应该准备不同分辨率的图像,但是我应该准备哪些分辨率?如何防止Android中的背景图像变形?

回答

2

如果没有,可以用来作为一个9补丁,那么我建议是这样一个如下图:

<?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:src="@drawable/backgroundimage" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:scaleType="centerCrop"/> 
</RelativeLayout> 

此解决方案让您覆盖整个屏幕的图像。图像将被均匀拉伸,但有些部分会因为使用centerCrop而被剪切掉。

+0

,这样它会“剪”一些部分以适合屏幕? – jjLin

+0

@jjLin是的。它是在屏幕上放置过大或过小的图像并使其合适而不会非均匀地拉伸图像并避免空白区域的唯一方法。 – Warpzit

1

您可以使用9patch图形。在你的Android/tools目录下找到draw9patch.bat。您可以通过此实用程序放置PNG文件,并标记可以拉伸以适合显示的图形区域。

+0

检查教程在developer.android.com/tools/help/draw9patch.html – CocoNess

+0

图像是照片,所以我认为9patch不适合。 – jjLin

+0

你是对的,9patch不适合拍照 – CocoNess