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

时间:2011-01-12 10:02:36

标签: android imageview screen-orientation android-configchanges

我正在使用imageView来显示图像。之后我使用imageView.setImage(bitmap)为视图设置了不同的图像。现在,如果我将屏幕的方向从纵向更改为横向,则imageview将显示旧图像而不是我设置的新图像。谁能告诉我为什么会这样,以及如何克服这一点。

4 个答案:

答案 0 :(得分:2)

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

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

2。然后在我们的活动类

中覆盖它
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);

        }
}

希望现在很清楚

答案 1 :(得分:0)

默认情况下,在方向更改时,活动会被销毁并重新创建,因此如果您在create上设置第一个位图,然后在其他位置更改为第二个位图,则在方向更改时,第一个图像将在onCreate中设置但是如果代码如果没有再次调用图像,则图像不会改变。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

我在更改屏幕肖像以隐藏图像时遇到问题。我在AndroidManifest.xml中的行中使用了以下问题,

 android:configChanges="orientation|screenSize"