The Problem
I have an Android app that, when in tablet mode, opens a dialog to get user input. However, the date field opens a date picker dialog.
The material design spec says this about opening pickers from a full screen dialog:
Full-screen dialogs may open additional dialogs, such as pickers, because their design accommodates additional layers of material without significantly increasing the app’s perceived z-depth or visual noise.
https://material.io/guidelines/components/dialogs.html#dialogs-behavior
So there is an implication here that dialogs which are not fullscreen, should not open additional dialogs such as pickers. On the other hand, define "significantly increasing the app's percieved z-depth or visual noise".
The Question
What do I do instead? The website doesn't include examples of tablet layouts. Is it really so bad to have 2 levels of dialogs?
Things I've Tried
I have it working with 2 levels and I think it looks ok, but I'm not sure about it. I've also tried making the original dialog hide when the date picker is open, and then show itself again when the date picker is closed. Is that a good/bad idea? It seems like the user might get confused as to where the original dialog went and feel like something went wrong.
I thought about embedding the dialog inside the other dialog but then how does the user press ok or cancel? It seems it would make the original dialog very complicated. Not to mention that when I tried it it didn't work; it wouldn't let me scroll the year, likely because of being in a scrollView already.
I could also have the date picker permanently embedded in the other dialog (rather than only show it when the user presses the date field, but then it takes up too much space. It's too big to leave it there - I think.
Another option could be to use text entry for the date. However my issue with doing that is that different regions display the date in different formats. I would like this to be more universal, not to mention take advantage of the inbuilt validation and any updates the date picker may receive in the future. Also, it requires the user to type which feels harder.
What other options are there?
Surprisingly I wasn't able to find a direct answer to this. All I was able to glean from my research was that it's not good design to open a dialog from another dialog. But what are the solutions? Is it never good or is it ok sometimes?
Thanks. I wish they would add more examples to the website.