更改屏幕方向时图像视图的奇怪行为
我正在使用 imageView 来显示图像。稍后我使用 imageView.setImage(bitmap) 为视图设置不同的图像。现在,如果我将屏幕方向从纵向更改为横向,imageview 将显示旧图像而不是新图像我已经设置了。有人可以告诉我为什么会发生这种情况以及如何克服这个问题。
i am using an imageView to display an image. later i am setting a different image to the view using imageView.setImage(bitmap)
.now if i change the orientation of the screen from portrait to landscape, the imageview displays the old image instead of the new image i have set. can someone pls tell me why this happens and how to overcome this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
正常情况下,当您改变方向时,活动将重新创建(调用 onCreate())。
如果两个方向只有一个 xml,则可以通过
来阻止此行为
1. 在清单文件中将 Activity 设置为
android:configChanges="orientation"
2. 然后在我们的 Activity 类中覆盖它
希望现在您已经清楚了
Normal case when you change you orientation the activity will recreate(call onCreate()).
If you have only one xml for both orientation, you can block this by
1. Set the activity as
android:configChanges="orientation"
in manifest file2. Then override this in our activity class
Hope now it is clear for you
默认情况下,方向更改时,活动将被销毁并重新创建,因此,如果您在创建时设置第一个位图,然后在其他位置更改为第二个位图,则当方向更改时,第一个图像将在 onCreate 中设置,但如果更改图像的代码不再被调用,则图像不会改变。
By default on orientation change the activity is destroyed and recreated, so if you set the first bitmap on create, and then change to the second bitmap elsewhere, when the orientation changes the first image is set in the onCreate but if the code that changes image isn't called again then the image doesn't change.
在清单中使用
android:configChanges="orientation"
是一种不好的做法。这是处理方向更改的推荐方法。
Using
android:configChanges="orientation"
in the manifest is a bad practice.This is the recommended way to handle the orientation change.
我在将屏幕纵向更改为横向时遇到问题,图像被隐藏。我在下面的活动中使用了 AndroidManifest.xml 中的行,我的问题得到了解决
I had a problem while changing the screen portrait to landscape the image is hide .I used the line in AndroidManifest.xml in activity below my problem was solved