首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改图像onConfigurationChanged

更改图像onConfigurationChanged
EN

Stack Overflow用户
提问于 2010-07-14 17:18:47
回答 3查看 6.5K关注 0票数 6

有没有一种方法可以在不破坏整个活动的情况下将ImageView可绘制内容与其相应的可绘制内容更改为横向模式。我尝试在onConfigurationChanged回调中再次设置可绘制,但它不起作用。像这样的东西

代码语言:javascript
复制
@Override
public void onConfigurationChanged(Configuration conf) {
    super.onConfigurationChanged(conf);
    mImageView.setImageDrawable(getResources().getDrawable(R.drawable.iv));
}

当我在横向模式下启动活动以纠正可绘制时,将显示可绘制,以便正确定位资源。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-20 10:39:50

在您的示例项目中,只需替换

代码语言:javascript
复制
iv.setBackgroundResource(R.drawable.android);

使用

代码语言:javascript
复制
iv.setImageDrawable(getResources().getDrawable(R.drawable.android));

我猜setBackgroundResource什么也不做,因为相同的资源已经分配给了ImageView。

看看这个

http://open-pim.com/tmp/ImageTest.zip

我尝试过你的方法,它对我来说很有效。

票数 6
EN

Stack Overflow用户

发布于 2010-07-14 22:30:11

有没有一种方法可以在不破坏整个活动的情况下,将ImageView drawable与其相应的drawable更改为横向模式。

当您从纵向更改为横向或从横向更改为纵向时,将重新创建活动。检查是否调用了onCreate()方法。

如果您想要避免这种行为,请使用:

代码语言:javascript
复制
android:configChanges="orientation|keyboardHidden"

用于AndroidManifest中的Activity

--

关于你的问题:在方向改变后,我首先会检查它叫什么:onConfigurationChanged还是onCreate

如果首先调用onConfigurationChanged,那么onCreate()方法中的setContentView()将替换可绘制的ImageView

票数 0
EN

Stack Overflow用户

发布于 2011-12-08 04:11:25

对于仿真器,除了方向之外,还需要screenLayout来调用该方法。

代码语言:javascript
复制
android:configChanges="orientation|screenLayout"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3244800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档