我有一个支持纵向和横向方向的应用程序。在此应用程序中,有一个仅限肖像的活动。在新活动中,MaterialDialogs(https://github.com/afollestad/material-dialogs)是在OnCreate方法中构建的。当初始活动处于横向模式并且新活动开始时,它将切换为纵向,但MaterialDialogs的大小有时会像横向一样(因此会在屏幕外延伸)。如果活动在方向改变动画开始之前开始,这似乎会发生,但是否发生这种情况似乎是任意的。
我最初的解决方案是简单地显示并立即关闭对话框,因此下次显示它们时,它们会自行调整大小。这适用于运行Android 7.1.2的Moto X.但是,它不适用于运行Android 7.0的Nexus 6,因为对话框不会自行调整大小。
我试过没有运气的其他事情是:
android:configChanges
Snippet:
<activity android:name=".MyActivity"
android:configChanges="screenLayout|smallestScreenSize|layoutDirection|orientation|screenSize"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Theme.myTheme"
android:resizeableActivity="false" />
那么,有没有人看过这个并想出一个修复方案?如果没有,有没有办法延迟调用OnCreate,直到方向动画结束?最后,是否有针对Nexus 6的修复/解决方法没有自动调整对话框的大小?