需要调整 Android ImageView 的大小以匹配不断变化的 Drawable 大小

Posted

技术标签:

【中文标题】需要调整 Android ImageView 的大小以匹配不断变化的 Drawable 大小【英文标题】:Need to resize Android ImageView to match changing Drawable size 【发布时间】:2010-08-27 15:28:19 【问题描述】:

我希望能够根据它们显示的 Drawable 来更改我的一些 ImageView 的大小。我还没有决定是否让他们从 Drawable 读取新尺寸,或者我是否只有一个数组/枚举来存储这些的高度,但我需要帮助的是 ImageView 的实际更改大小。

我应该使用众多用于更改事物大小的函数中的哪一个来更改 ImageView 的大小,同时仍保留它在它所属的 RelativeLayout 中的相对位置?我不知道是否应该更改 Drawable 的边界,或者是否应该重新定义 ImageView 的 LayoutParams 或其他一些方法。可绘制对象始终具有相同的宽度,但它们的高度会根据地图的每个图块中的内容(正在渲染的内容)而变化。

【问题讨论】:

【参考方案1】:

也许我在这里遗漏了一些东西,但你应该只使用:

<ImageView
    android:id="@+id/image_view"
    android:layout_
    android:layout_
    android:src="@drawable/image_content"
    />

使用 wrap_content 将使 ImageView 呈现您插入的任何可绘制对象的形状。

【讨论】:

这实际上是我开始的地方,并且在缩放到错误的相对大小时遇到​​了真正的问题,因此额外的复杂性。然而,在你这么说之后,我意识到我应该重新审视它并简单地添加一个 maxwidth= 让它表现出我想要的样子。现在它们保持我想要的相对宽度,但缩放以适应另一个维度的可绘制对象。 很高兴你能成功!想想看,我还没有做任何事情来改变代码中的可绘制对象,所以我不知道它是如何处理重新缩放的。

以上是关于需要调整 Android ImageView 的大小以匹配不断变化的 Drawable 大小的主要内容,如果未能解决你的问题,请参考以下文章

Android ImageView 调整大小问题

Android:如何将整个 ImageView 转换为位图?

调整imageView大小后调整图像大小

用手指调整 ImageView 的高度

Android - 将 ImageView 保存到具有全分辨率图像的文件

如何为不同的屏幕尺寸android studio自动调整imageview的大小?