XML布局显示不正确的背景图像

时间:2015-01-23 02:57:27

标签: android xml android-layout

我创建了一个带有relativelayout的XML,其中包含webview和relativelayout。我做的是我使用relativeLayout1将我的应用程序加载到webview和它下面的应用程序徽标。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/urlContainer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <WebView
        android:id="@+id/webView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_above="@+id/relativeLayout1" />

    <ProgressBar
        android:id="@+id/progressBar1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" />

    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:background="@drawable/footerl" >
    </RelativeLayout>

</RelativeLayout>

但是,在小型设备上,图像在肖像上是正确的,但在较大的设备上或在横向模式下(一旦旋转它)就会变形。所以我做的是在/ res文件夹中添加了不同大小的图像:

res/drawable-hdpi/footer.png
res/drawable-ldpi/footer.png
res/drawable-xdpi/footer.png
res/drawable-xxdpi/footer.png

每个图像都有不同的大小,使用每个设备的最大宽度(320px,480px,780px,1200px)

我也使用了不同的布局:

 layout/activity_web.xml
 layout-large/activity_web.xml
 layout-xlarge/activity_web.xml
 layout-xlarge-land/activity_web.xml

下面的徽标仍然是扭曲的。除了处于横向模式的 layout-xlarge-land 之外,所有布局都处于纵向模式。我应该为布局创建横向模式吗? layout-large?

更新

我尝试通过添加图片视图来尝试Darnmason的答案,看它是否会在旋转到横向模式时运行:

但是会发生的情况是显示的图像宽度与肖像模式相似。我是否错过任何关于它为什么不伸展的东西?

1 个答案:

答案 0 :(得分:1)

使用图像作为背景并不能让您对图像缩放有很大的控制。我建议使用ImageView设置

android:src="@drawable/footer"
android:scaleType="centerCrop"

也许你需要android:adjustViewBounds="true"

这将确保图像填满屏幕,根据设备的纵横比进行必要的裁剪。拥有纵向和横向版本仍然是有意义的,但您不必关心设备之间纵横比的轻微差异。有些人比其他人更宽屏!