2015-04-01 70 views
0

我想迫使我的Activity重新绘制方向更改的布局。但我不希望它重新启动Activity。我知道我必须重写onConfigurationChanged才能获取方向更改的回调。我知道这样做的一种方式是再次以相同的布局调用setContentView。有没有更好的方法来强制重绘活动布局?强制活动重新绘制方向更改的完整布局

+0

强制我的活动重新绘制意味着你想显示不同的布局设计? – 2015-04-01 04:53:15

+0

@MdAbdulGafur号我希望它显示相同的布局。但我希望它被重新绘制。因为我使用库中的一些自定义视图。这些视图实现onDraw来处理旋转变化。但是,当它从android应用程序使用,轮换没有得到处理。所以我将不得不重绘整个布局,以便调用视图的onMeasure – Sreeraj 2015-04-01 05:00:12

+1

我想你可以尝试调用['requestLayout()'](http://developer.android.com/reference/android/view/View。 html#requestLayout())在活动的根视图(即您的顶级容器,或使用'findViewById(android.R.id.content)')。正如文档中提到的那样:*“要启动一个布局,请调用requestLayout()'。当它认为不再适合其当前边界时,通常通过'View'调用此方法。”* – 2015-04-01 05:52:28

回答

0

请添加以下行

机器人:configChanges = “keyboardHidden |方向|屏幕尺寸”

在AndroidMenifest在你的活动代码。

它可能工作。