2015-01-20 68 views
0

我遇到问题。我有一个应用程序,它具有在manifest.xml中设置的修复方向(人像)。对话框的更改方向

android:screenOrientation="portrait" 

但我想改变一个Dialog的方向,我在我的一个片段创建程序。问题是,super方法onConfigurationChanged(Configuration newConfig)从来没有被调用,因为我的清单声明。

是否有可能检测到手机已转动并改变了对话框的方向(没有像通常那样破坏/重新创建所有内容)?

编辑:

ActivityFragments应该留在肖像模式,Dialog应检测的变化和东方”

希望这个问题是可以理解的;)

谢谢!

+0

只应在对话框东方?创建对话框的片段不应该定向吗? – 2015-01-21 06:50:15

+0

完全一样。活动和片段保持纵向,对话框检测到变化并定向 – Wicked161089 2015-01-21 06:55:33

+0

您是否曾经找到过解决方案?这实际上正是我现在需要的 – 2016-12-06 05:37:26

回答

0

我认为一个可行的解决方案是删除android:screenOrientation标记,然后重写onConfigurationChanged()方法来执行您所需的操作。

+0

它会做的工作,但我很好奇,如果有另一种解决方案,只是定位对话 – Wicked161089 2015-01-21 06:59:12

-2

试试这个:

Dialog mDialog = new Dialog(MainActivity.this); 
mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
mDialog.setContentView(R.layout.alert); 
mDialog.show(); 
+0

这是正常的方式..我不想定位整个活动 – Wicked161089 2015-01-21 07:07:47