-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Description
Description
I'm opening a new issue on this topic, since the existing once are incorrectly closed.
I use a flyout page and when rotating the screen, ~1 time out of 10 the app crashes.
The error message is something like:
androidx.drawerlayout.widget.DrawerLayout.getDrawerViewAbsoluteGravity
java.lang.ClassCastException: androidx.appcompat.widget.LinearLayoutCompat$LayoutParams cannot be cast to androidx.drawerlayout.widget.DrawerLayout$LayoutParams
Other similar, closed reports:
#20858
#18161
Steps to Reproduce
- Create a maui project with a flyout page
- On details page, put some random content (e.g. I added 50 lables within a VerticalStackLayout).
- Rotate the screen a bit back and fourth. Eventually, the app will crash with the above error, or something similar.
Link to public reproduction project repository
No response
Version with bug
8.0.82 SR8.2
Is this a regression from previous behavior?
Yes, this used to work in Xamarin.Forms
Last version that worked well
Unknown/Other
Affected platforms
Android
Affected platform versions
All versions, what I know of
Did you find any workaround?
From what I found, setting
FlyoutLayoutBehavior = FlyoutLayoutBehavior.Popover;
seems to prevent the crashes. But you also loose the visible flyout that can be nice to have, at least on landscape tablets.
Relevant log output
androidx.drawerlayout.widget.DrawerLayout.getDrawerViewAbsoluteGravity DrawerLayout.java:991
androidx.drawerlayout.widget.DrawerLayout.checkDrawerViewAbsoluteGravity DrawerLayout.java:996
androidx.drawerlayout.widget.DrawerLayout$ViewDragCallback.onViewPositionChanged DrawerLayout.java:2292
androidx.customview.widget.ViewDragHelper.continueSettling ViewDragHelper.java:779
androidx.drawerlayout.widget.DrawerLayout.computeScroll DrawerLayout.java:1375
android.view.View.updateDisplayListIfDirty View.java:24009
android.view.View.draw View.java:24907
android.view.ViewGroup.drawChild ViewGroup.java:4780
android.view.ViewGroup.dispatchDraw ViewGroup.java:4538
android.view.View.updateDisplayListIfDirty View.java:24022
android.view.View.draw View.java:24907
android.view.ViewGroup.drawChild ViewGroup.java:4780
android.view.ViewGroup.dispatchDraw ViewGroup.java:4538
android.view.View.updateDisplayListIfDirty View.java:24022
android.view.View.draw View.java:24907
android.view.ViewGroup.drawChild ViewGroup.java:4780
android.view.ViewGroup.dispatchDraw ViewGroup.java:4538
android.view.View.updateDisplayListIfDirty View.java:24022
android.view.View.draw View.java:24907
android.view.ViewGroup.drawChild ViewGroup.java:4780
android.view.ViewGroup.dispatchDraw ViewGroup.java:4538
android.view.View.updateDisplayListIfDirty View.java:24022
android.view.View.draw View.java:24907
android.view.ViewGroup.drawChild ViewGroup.java:4780
android.view.ViewGroup.dispatchDraw ViewGroup.java:4538
android.view.View.updateDisplayListIfDirty View.java:24022
android.view.View.draw View.java:24907
android.view.ViewGroup.drawChild ViewGroup.java:4780
android.view.ViewGroup.dispatchDraw ViewGroup.java:4538
com.android.internal.policy.DecorView.dispatchDraw DecorView.java:1179
android.view.View.draw View.java:25180
com.android.internal.policy.DecorView.draw DecorView.java:1161
android.view.View.updateDisplayListIfDirty View.java:24036
android.view.ThreadedRenderer.updateViewTreeDisplayList ThreadedRenderer.java:768
android.view.ThreadedRenderer.updateRootDisplayList ThreadedRenderer.java:774
android.view.ThreadedRenderer.draw ThreadedRenderer.java:872
android.view.ViewRootImpl.draw ViewRootImpl.java:6051
android.view.ViewRootImpl.performDraw ViewRootImpl.java:5706
android.view.ViewRootImpl.performTraversals ViewRootImpl.java:4795
android.view.ViewRootImpl.doTraversal ViewRootImpl.java:3288
android.view.ViewRootImpl$TraversalRunnable.run ViewRootImpl.java:11344
android.view.Choreographer$CallbackRecord.run Choreographer.java:1689
android.view.Choreographer$CallbackRecord.run Choreographer.java:1698
android.view.Choreographer.doCallbacks Choreographer.java:1153
android.view.Choreographer.doFrame Choreographer.java:1079
android.view.Choreographer$FrameDisplayEventReceiver.run Choreographer.java:1646
android.os.Handler.handleCallback Handler.java:958
android.os.Handler.dispatchMessage Handler.java:99
android.os.Looper.loopOnce Looper.java:230
android.os.Looper.loop Looper.java:319
android.app.ActivityThread.main ActivityThread.java:8919
java.lang.reflect.Method.invoke Method.java
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run RuntimeInit.java:578
com.android.internal.os.ZygoteInit.main ZygoteInit.java:1103