3

假设你有这个

<ImageView
        android:id="@+id/mainImageView"
        android:layout_width="match_parent"
        android:background="@drawable/mylogo_250px60px"
/>

我想定义高度,以便它根据宽度进行缩放。因此,如果 Android 决定缩放徽标以显示宽度,那么高度也应该增加。

是否也可以定义一些东西,所以当手机从垂直倾斜到水平时,标志会正确缩放吗?

(基本上,徽标位于主要活动的列表视图上方)

我也尝试过使用它,但没有运气(与宽度相比,高度显得低得多。图像未调整大小/高度缩放)

<ImageView
        android:id="@+id/mainImageView"
        android:layout_width="match_parent"
        android:background="@drawable/mylogo_250px60px"
        android:layout_height="wrap_content"
        android:scaleType="centerInside"
        android:adjustViewBounds="true"                                       
    />

如果我在 Eclipse/ADT gui 工具中设计它,徽标会得到 76dp,并且在我的两部测试手机上看起来不错。但是,我认为应该可以简单地适当地缩放图像?

“固定高度”具有正确的宽度比率(垂直视图,而不是手机倾斜时) 在此处输入图像描述

与宽度相比,“自动高度”出现错误的比例: 在此处输入图像描述

4

3 回答 3

11

如下更改您的 imageview 代码

 <ImageView
        android:id="@+id/mainImageView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/mylogo_250px60px"
        android:scaleType="fitEnd"
        android:adjustViewBounds="true"
    />
于 2013-04-12T08:40:29.447 回答
1

尝试这个:

<ImageView
        android:id="@+id/mainImageView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/mylogo_250px60px"
        android:scaleType="fitEnd"
        android:adjustViewBounds="true"
        />

希望它的帮助

于 2013-04-12T08:55:52.997 回答
-1

这工作正常:

<ImageView
    android:id="@+id/mainImageView"
    android:layout_width="wrap_content"
    android:background="@drawable/mylogo_250px60px"
    android:layout_height="wrap_content"                                      
/>

唯一的问题:drawable 必须至少与其父对象一样宽。

渲染不会让 ImageView 比其父级更宽:

  • 所以它将完全适合宽度
  • 它会保持比例(因为 wrap_content)

我通常计算分辨率为 1080x1092(全高清)的手机。

于 2015-01-15T17:21:11.650 回答