我创建了一个带有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的答案,看它是否会在旋转到横向模式时运行:
但是会发生的情况是显示的图像宽度与肖像模式相似。我是否错过任何关于它为什么不伸展的东西?
答案 0 :(得分:1)
使用图像作为背景并不能让您对图像缩放有很大的控制。我建议使用ImageView
设置
android:src="@drawable/footer"
android:scaleType="centerCrop"
也许你需要android:adjustViewBounds="true"
这将确保图像填满屏幕,根据设备的纵横比进行必要的裁剪。拥有纵向和横向版本仍然是有意义的,但您不必关心设备之间纵横比的轻微差异。有些人比其他人更宽屏!