我已经经历了意想不到的形象行为,在一个框架内。当我用setImageResource更改图片时,图像会意外地移动(并且,由于某种原因,轻巧会增大)。
我用Java编写的代码很简单:
myImage.setImageResource(myImageID);
新图片的尺寸和格式是完全相同的(它们只是圆圈,除了颜色没有什么区别,我已经成功地在程序的其他地方用setImageResource更改了它们,没有问题)。
这里是前面的图片:
蓝色-我在改变什么。
黄色-一个蓝色的圆圈正在覆盖。
青色-一个覆盖在两者顶部的圆圈。
这里是后来的图片(请注意,更改是成功的,因为它现在是洋红色,但它向左移动,并且由于某种原因略有增长)。
这里是我的XML:的摘录(我正在更改id/p4_av)
<FrameLayout
android:id="@+id/p4"
android:padding="20sp"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight=".50">
<ImageView
android:id="@+id/p4_halo"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight=".50"
android:src="@drawable/halo"/>
<ImageView
android:id="@+id/p4_av"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight=".50"
android:src="@drawable/avatar"/>
<ImageView
android:id="@+id/p4_bucket"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight=".50"
android:src="@drawable/bucket"/>
</FrameLayout>
发布于 2020-07-31 13:32:55
@Fruckubus,我的建议是使用android:scaleType =“中间作物”或"fitXY“。它可能会解决这个问题。
发布于 2020-07-31 14:40:47
好吧,这是一堆新手犯的错误。
最初,黄色圆圈png比要改变的化身稍大一些。它一直运作得很好,直到它必须改变,然后它开始变得奇怪。
相反,我只是添加了边距并更改了ImageView宽度。
此外,在早期开发中还有一些其他的奇怪之处。原始XML条目(与其兄弟姐妹一起)已更改为:
<ImageView
android:id="@+id/p1_av"
android:layout_margin="15sp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/avatar"/>
如您所见,宽度已更改为匹配父级,并引入了一个layout_margin。
还有一个layout_weight是在早些时候留下的。虽然我不认为它是破坏任何东西,但它是不必要的,并已被删除。
就是这样。它现在工作得很好。
https://stackoverflow.com/questions/63199191
复制相似问题