我对Android操作系统如何处理我的应用程序的大小调整感到困扰。基本上我的背景图像是480x800(宽480像素),图像底部也是480px。
在Galaxy S(480x800屏幕)上,一切看起来都很好,如下所示:
然而,在Galaxy S3(720x1280)上,背景被拉伸到720px宽,但底部的图像只有640px宽,如下所示:
我尝试创建一个包含640x960图像的xhdpi文件夹,但同样的事情发生(背景拉伸到720px,图像只有640px)。我也试过玩“ScaleType”,但到目前为止没有运气。
有谁知道为什么操作系统会以不同的比例重新调整两个图像的大小,以及如何修复它?
这是XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/bg" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/significados"
android:layout_gravity="center"
android:layout_marginTop="216dp"
android:onClick="goToSignificados"
/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ranking"
android:layout_gravity="center"
android:onClick="goToRanking"
/>
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/engracados"
android:layout_gravity="center"
android:onClick="goToEngracados"
/>
<ImageView
android:id="@+id/iv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="60dp"
android:clickable="true"
android:contentDescription="@string/image"
android:onClick="goToMarket"
android:src="@drawable/googleplay" />
</LinearLayout>
答案 0 :(得分:1)
您必须发布XML以获得更具体的答案,但基本上所有“视图”都可能以不同方式处理图像缩放。
在您的示例中,
您可以使用width = match-parent。
使按钮一直拉伸“背景”默认会拉伸,但也可以平铺。 “按钮”将具有背景大小的最小尺寸,但在需要时将拉伸(按钮具有太多文本)
作为旁注,您不应该依赖于图像的确切像素。你应该调查nine-patch或制作平铺背景,并确保你利用“匹配 - 父母,引力等”之类的东西。