2014-04-04 55 views
0

我有一个fragment在我的Android应用程序。当我将我的屏幕旋转到landscape时,它将显示在一半的屏幕中,剩余的屏幕由一个空白区域填充。如何避免它?屏幕方向在Android碎片

我已经宣布manifest.xml为** android:configchanges="orientation|screensize

我的XML由RadioGroup中,复选框组和按钮。

+1

我认为我们需要更多的信息,把该屏幕的xml文件。我想你是设置值的布局,你不使用match_parent值。给我们更多的信息。 –

+0

当您在清单中删除configchanges属性时会发生什么?你使用它的原因是什么? – DroidBender

+0

如果我删除configchanges,我的屏幕自动移动到下一个屏幕。它是一个由问题组成的屏幕。如果我点击按钮,那么只有它应该移动。 – Addy

回答

0

除非您有非常特殊的需求,否则请勿使用android:configchanges。这会导致您的片段不会自动销毁,您将不得不处理在方法中手动更改屏幕方向后发生的更改。

最好让您的活动和片段在屏幕方向更改时被销毁并重新创建。这也将处理不同屏幕方向的布局显示。

查看更多关于该主题的文章Android documentation。甚至有使用android:configchanges的注意事项:

使用此属性应避免并仅用作最后的手段。请阅读Handling Runtime Changes以了解有关如何正确处理由于配置更改而导致的重新启动的更多信息。

+0

我想重写所有片段和活动中的方法? – Addy

+0

如果你仍然想使用'android:configchanges',你将不得不如果你需要做任何改变。 – Szymon

+0

如果我写配置更改,屏幕变成一半。剩下的就是空白。 – Addy

0

当方向更改时,活动将被销毁并重新创建。如果使用configChanges,则您将覆盖的方法是onConfigurationChanged