我正在使用 imageView 来显示图像。稍后我使用imageView.setImage(bitmap)
.now 为视图设置不同的图像,如果我将屏幕的方向从纵向更改为横向,则 imageview 将显示旧图像而不是我设置的新图像。有人可以告诉我为什么会发生这种情况以及如何克服这个问题。
问问题
3378 次
4 回答
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);
}
}
希望现在你很清楚
于 2011-01-12T10:06:48.717 回答
0
默认情况下,在方向更改时,活动会被销毁并重新创建,因此如果您在创建时设置第一个位图,然后在其他位置更改为第二个位图,则当方向更改时,第一个图像会在 onCreate 中设置,但如果更改图像的代码不会再次调用,然后图像不会改变。
于 2011-01-12T10:07:47.913 回答
0
android:configChanges="orientation"
在清单中
使用是一种不好的做法。这是处理方向变化的推荐方法。
于 2017-05-16T10:21:07.727 回答
0
我在将屏幕纵向更改为横向图像隐藏时遇到问题。我在下面的活动中使用 AndroidManifest.xml 中的行我的问题已解决
android:configChanges="orientation|screenSize"
于 2018-10-16T10:50:11.420 回答