有没有一种方法可以在不破坏整个活动的情况下将ImageView可绘制内容与其相应的可绘制内容更改为横向模式。我尝试在onConfigurationChanged回调中再次设置可绘制,但它不起作用。像这样的东西
@Override
public void onConfigurationChanged(Configuration conf) {
super.onConfigurationChanged(conf);
mImageView.setImageDrawable(getResources().getDrawable(R.drawable.iv));
}当我在横向模式下启动活动以纠正可绘制时,将显示可绘制,以便正确定位资源。
发布于 2010-07-20 10:39:50
在您的示例项目中,只需替换
iv.setBackgroundResource(R.drawable.android);使用
iv.setImageDrawable(getResources().getDrawable(R.drawable.android));我猜setBackgroundResource什么也不做,因为相同的资源已经分配给了ImageView。
看看这个
http://open-pim.com/tmp/ImageTest.zip
我尝试过你的方法,它对我来说很有效。
发布于 2010-07-14 22:30:11
有没有一种方法可以在不破坏整个活动的情况下,将ImageView drawable与其相应的drawable更改为横向模式。
当您从纵向更改为横向或从横向更改为纵向时,将重新创建活动。检查是否调用了onCreate()方法。
如果您想要避免这种行为,请使用:
android:configChanges="orientation|keyboardHidden"用于AndroidManifest中的Activity。
--
关于你的问题:在方向改变后,我首先会检查它叫什么:onConfigurationChanged还是onCreate。
如果首先调用onConfigurationChanged,那么onCreate()方法中的setContentView()将替换可绘制的ImageView。
发布于 2011-12-08 04:11:25
对于仿真器,除了方向之外,还需要screenLayout来调用该方法。
android:configChanges="orientation|screenLayout"https://stackoverflow.com/questions/3244800
复制相似问题