需要调整 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 转换为位图?