首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >安卓图像在使用setImageResource后意外转移

安卓图像在使用setImageResource后意外转移
EN

Stack Overflow用户
提问于 2020-07-31 13:17:23
回答 2查看 60关注 0票数 0

我已经经历了意想不到的形象行为,在一个框架内。当我用setImageResource更改图片时,图像会意外地移动(并且,由于某种原因,轻巧会增大)。

我用Java编写的代码很简单:

代码语言:javascript
运行
AI代码解释
复制
myImage.setImageResource(myImageID);

新图片的尺寸和格式是完全相同的(它们只是圆圈,除了颜色没有什么区别,我已经成功地在程序的其他地方用setImageResource更改了它们,没有问题)。

这里是前面的图片:

蓝色-我在改变什么。

黄色-一个蓝色的圆圈正在覆盖。

青色-一个覆盖在两者顶部的圆圈。

这里是后来的图片(请注意,更改是成功的,因为它现在是洋红色,但它向左移动,并且由于某种原因略有增长)。

这里是我的XML:的摘录(我正在更改id/p4_av)

代码语言:javascript
运行
AI代码解释
复制
<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>
EN

回答 2

Stack Overflow用户

发布于 2020-07-31 13:32:55

@Fruckubus,我的建议是使用android:scaleType =“中间作物”或"fitXY“。它可能会解决这个问题。

票数 2
EN

Stack Overflow用户

发布于 2020-07-31 14:40:47

好吧,这是一堆新手犯的错误。

最初,黄色圆圈png比要改变的化身稍大一些。它一直运作得很好,直到它必须改变,然后它开始变得奇怪。

相反,我只是添加了边距并更改了ImageView宽度。

此外,在早期开发中还有一些其他的奇怪之处。原始XML条目(与其兄弟姐妹一起)已更改为:

代码语言:javascript
运行
AI代码解释
复制
<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是在早些时候留下的。虽然我不认为它是破坏任何东西,但它是不必要的,并已被删除。

就是这样。它现在工作得很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63199191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文