codenameone / CodenameOne

Cross-platform framework for building truly native mobile apps with Java or Kotlin. Write Once Run Anywhere support for iOS, Android, Desktop & Web.
https://www.codenameone.com/
Other
1.7k stars 403 forks source link

iOS picker appears behind sheet #3588

Open jnorth515 opened 2 years ago

jnorth515 commented 2 years ago

Describe the bug On iOS devices and the simulator if a picker is selected from a sheet window the picker option appears behind the sheet.

To Reproduce Steps to reproduce the behavior:

  1. Open a sheet with a picker
  2. Select the picker
  3. Picker options window appears behind the sheet

Expected behavior For the picker options to appear in front of the sheet

Screenshots

image

shai-almog commented 2 years ago

Unfortunately the Picker lightweight mode is a Dialog which is just displayed on top of the current Form. Sheet resides in a pane above the current Form and is a separate interaction altogether. They aren't compatible.

I don't think it's something we can change (at least not easily). Besides breaking compatibility (which is something we can workaround) the main problem is solving this.

A layered pane has order. So a Sheet is in one layer. That makes sense. In your case you want the Sheet below the Picker but if we create a Picker and then show a sheet on top of that this will be a problem. We have no flexible way we can use to manipulate that.

You only see this on iOS since Android native pickers are native widgets which are always on top of everything.

I won't close the issue right now since I think there might be solutions I can't think of. But it's probably not something we'll address.