Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Select with many options is unable to tap the first and last option on Mobile #1358

Closed
sorainnosia opened this issue Oct 4, 2020 · 5 comments
Assignees
Labels
blocker Items that would block a forthcoming release bug Something isn't working

Comments

@sorainnosia
Copy link

Describe the bug:

In Android, when a Select widget is tap a popup will appear listing all the options. If the options is too many, the first option will be obscure by the Android top Drawer status bar text. Because Android renders its status (WIFI, signal etc) on top of an app area, while the first option of Select item is then covered by the status drawer.

This happen to the last option too which is covered by soft button, Home, Back, etc.

To Reproduce:

Steps to reproduce the behaviour:

  1. Create a new Select widget
  2. Populate it with 100 items
  3. Run the app
  4. Click the widget to popup the list of items
  5. First and Last option will be difficult to get tap event because of being obscured

Screenshots:

No screenshot

Example code:

No example code

Device (please complete the following information):

  • OS: Android
  • Version: 10
  • Go version: 1.13
  • Fyne version: 1.2
@andydotxyz
Copy link
Member

Good catch.

The generic issue here is “overlay not respecting screen insets” I think...

@andydotxyz andydotxyz added blocker Items that would block a forthcoming release bug Something isn't working labels Oct 4, 2020
@sorainnosia
Copy link
Author

Actually one more thing I want to add.

Android and iOS does drop show a context drop down when a Select object is click, but instead it pops up a full screen window with list of options.

Fyne in android behaves in desktop way that the list is shown as a context menu. I think Fyne has to re-think about its vision on how could Fyne be a cross platform toolkit.

Question like :

  1. Select widget. Will Fyne keep current behavior which is desktop like on mobile?
  2. Will Fyne introduce widget like bootstrap col-sm-12 col-md-6 which the widget behaves differently when the screen is mobile?
  3. Fyne current Box, Border, Grid concept is more similar to desktop UI programming. Will Fyne introduce mobile layout? Honestly I havent encountered a use case which Fyne's layout cant fit in, its just the concept is leaning towards desktop development.

@andydotxyz
Copy link
Member

These are good thoughts indeed. You're quite right that there is more adapting to mobile that we should be doing.
The layouts that exist are the building blocks and we will be adding higher level components that adapt better.
The first, for example, was AdaptiveGridLayout which changes based on orientation. Later will be a navigation style root container that shows fullscreen nav list on mobile and sidebar on desktop (this sort of thing is where we are heading).

Each time you see something that is not adapting well please do open a ticket and we will slowly get all of these working well. It's quite straight forward as the code is all there - for example see how a tab conatiner places the tabs on the short edge of mobile apps whereas desktop app developer has full control. More of these things will help the apps to feel more "at home" on mobile and/or touch based devices.

@andydotxyz
Copy link
Member

There is a previous request for full-screen dialog but this is another example of where we should probably automatically adapt for apps rather than require developers to make such choices. #1205

@andydotxyz
Copy link
Member

Resolved on develop for testing :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocker Items that would block a forthcoming release bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants