按比例调整Android中的imageview大小

时间:2013-04-12 08:33:03

标签: android imageview scale

假设你有这个

<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并且在我的两个测试手机上看起来不错。但是,我认为应该可以简单地按比例缩放图像吗?

“固定高度”具有正确的rato到宽度(垂直视图,而非手机倾斜时) enter image description here

与宽度相比,

“自动高度”显示错误的比率: enter image description here

3 个答案:

答案 0 :(得分:10)

更改您的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"
    />

答案 1 :(得分: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"
        />

希望得到帮助

答案 2 :(得分:-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(全高清)的手机。