更改屏幕方向时图像视图的奇怪行为

发布于 2024-10-11 10:49:04 字数 150 浏览 3 评论 0原文

我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

允世 2024-10-18 10:49:04

正常情况下,当您改变方向时,活动将重新创建(调用 onCreate())。
如果两个方向只有一个 xml,则可以通过
来阻止此行为
1. 在清单文件中将 Activity 设置为 android:configChanges="orientation"

<activity android:name=".Youractivityname" 
      android:configChanges="orientation"/>

2. 然后在我们的 Activity 类中覆盖它

public class Youractivityname extends Activity {

     public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
            // all your codes 
      }

    @Override
        public void onConfigurationChanged(Configuration newConfig) {
          super.onConfigurationChanged(newConfig);

        }
}

希望现在您已经清楚了

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 file

<activity android:name=".Youractivityname" 
      android:configChanges="orientation"/>

2. Then override this in our activity class

public class Youractivityname extends Activity {

     public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
            // all your codes 
      }

    @Override
        public void onConfigurationChanged(Configuration newConfig) {
          super.onConfigurationChanged(newConfig);

        }
}

Hope now it is clear for you

怀念你的温柔 2024-10-18 10:49:04

默认情况下,方向更改时,活动将被销毁并重新创建,因此,如果您在创建时设置第一个位图,然后在其他位置更改为第二个位图,则当方向更改时,第一个图像将在 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.

笔落惊风雨 2024-10-18 10:49:04

在清单中使用 android:configChanges="orientation" 是一种不好的做法。
这是处理方向更改的推荐方法。

Using android:configChanges="orientation" in the manifest is a bad practice.
This is the recommended way to handle the orientation change.

旧街凉风 2024-10-18 10:49:04

我在将屏幕纵向更改为横向时遇到问题,图像被隐藏。我在下面的活动中使用了 AndroidManifest.xml 中的行,我的问题得到了解决

 android:configChanges="orientation|screenSize"

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

 android:configChanges="orientation|screenSize"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文