【问题标题】:how to scale an image in an ImageView so that it "fits"如何在 ImageView 中缩放图像以使其“适合”
【发布时间】:2011-09-03 23:12:11
【问题描述】:

我想通过以下方式在 ImageView 中缩放图像。 ImageView 有一些尺寸宽度 (W) 和高度 (H)。我放入图像视图的图像可能小于或大于 WxH。我希望它在保持纵横比的同时进行缩放以 fill WxH 空间。

似乎最接近我想要的东西是 android:scaleType="centerInside",但我看到的是,如果图像小于 WxH,它将把该图像的小型未缩放版本放入ImageView 的中心(如文档所述),但我希望它缩放它以“适合”,同时显示整个图像,并将其拉伸到容器的最大可能大小而不裁剪任何内容。换句话说,拉伸保持纵横比,直到宽度或高度碰到容器(ImageView)的边缘。

这似乎是一件显而易见的事情,但我无法让它以这种方式工作!!!

【问题讨论】:

  • 你试过android:scaletype="fitXY" ??
  • 是的,但这不会保留纵横比。

标签: android imageview scaling


【解决方案1】:

来自 Android 文档...

public static final Matrix.ScaleToFit CENTER

计算将保持原始 src 纵横比的比例,但也将确保 src 完全适合 dst。至少一个轴(X 或 Y)将完全适合。结果以 dst 为中心。

这个的 XML 属性是...

android:scaleType="fitCenter"

【讨论】:

  • 似乎工作,除非我使用 layout_height="0dp" 和 layout_weight="1"
  • @user645402:好的,这很有趣。
猜你喜欢
  • 2021-11-10
  • 2014-07-02
  • 2011-10-11
  • 2019-04-08
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 2017-01-27
  • 1970-01-01
相关资源
最近更新 更多