具有相同分辨率的图像不适合布局imageview

时间:2015-12-02 13:10:18

标签: android android-layout android-activity

问题:尝试为简单的布局提供多设备支持屏幕,但在Nexus 6中创建问题,意味着不显示合适。 它的一面是削减,因为nexus-6分辨率的文档是1440 * 2560,图像应该是drawable-xxxhdpi。所以我保留了分辨率为1440 * 2560的图像。

<RelativeLayout 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">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/icon"
        android:id="@+id/imv" />
</RelativeLayout>

如果我给match_parent这么明显它会拉伸图像。 请帮我摆脱它。 这是屏幕截图 -

http://s10.postimg.org/43od5j5h5/screen_shot_layout.png

3 个答案:

答案 0 :(得分:0)

如果你想在imageview上拟合图像,请在xml代码的ImageView中用android:background替换android:src。

答案 1 :(得分:0)

尝试在布局中使用这些代码行

 <ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/icon"
    android:scaleType="fitXY"
    android:id="@+id/imv" />

答案 2 :(得分:0)

将图像的宽度设置为fill_parent(如果想要更小的imageView,则可以设置边距,或者也可以设置固定的宽度)

使用android:adjustViewBounds保持宽高比

将height设置为wrap_content(它将采取保持宽高比所需的一切)

<ImageView
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:adjustViewBounds="true"
       android:src="@drawable/icon"
       android:id="@+id/imv"
       android:scaleType="fitCenter" />