停止在某些设备上拉伸imageview

时间:2015-02-22 21:41:17

标签: android xml imageview android-drawable stretch

我有一个活动xml,如下所示:     



<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
    android:orientation="vertical"
    android:baselineAligned="false">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:scaleType="centerCrop"
        android:background="@drawable/top"
        />

    <ScrollView
                ....
&#13;
&#13;
&#13;

这基本上在线性布局顶部显示横幅,下方有滚动视图。我遇到的问题是图像在某些设备上被拉伸。源图像宽度为1080px(在drawable和drawable-xxhdpi文件夹中),720px in drawable-xhdpi,540px in drawable-hdpi,480 in drawable-mdpi。

我忘记了什么或给了他们错误的宽度?图像是垂直伸展的。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您的图片尺寸错误。图像大小为480dp的正确比例是

  • mdpi 480px(x1)
  • hdpi 720px(x1.5)
  • xhdpi 960px(x2)
  • xxhdpi 1440px(x3)

此外,无需在drawable文件夹中显示图片,Android会从列出的文件中选择最佳图片。 有关详细信息,请参阅this文档