mit-cml / appinventor-sources

MIT App Inventor Public Open Source
http://appinventor.mit.edu/appinventor-sources/
Apache License 2.0
1.5k stars 2.08k forks source link

Scale frame layout does not handle all aspect ratios #1672

Open SusanRatiLane opened 5 years ago

SusanRatiLane commented 5 years ago

On the iphone X and, we believe, some extra-tall Android phones, content displays as if the bottom if the screen does not exist. We believe that the max aspect ratio enforced by AI doesn't handle some of the more recent XL screens.

Example: First kitty (button) is squashed vertically and second kitty (image) is proportionally sized smaller, but there's actually quite a bit of vertical screen space to use.

Screen Shot 2019-05-06 at 12 11 09 PM

ewpatton commented 5 years ago

So I took a look at the Android version of the problem as I had noticed it on my phone and @petermathijssen also commented. Using the layout inspector, it looks like in the case where the scroll layout doesn't quite take up the whole screen the titlebar, even though it's not visible, has a size and the scroll view compensates by shrinking a little. I have yet to figure out why that happens.

PeterMathijssen commented 5 years ago

I had a discussion just a few weeks ago with a extension developer when we had a problem with the screen.

He gave me this answer on the following question i asked: What does the Android viewtool do different from setting visibility with the visibility option of the arrangement?

There are 3 visibility options in android: Visible = Self explanatory Invisible = This view is invisible, but it still takes up space for layout purposes. Gone = This view is invisible, and it doesn’t take any space for layout purposes.

The builders use Gone instead of Invisible, this causes the elements on the page to shift to a new position when a Component is set to visible = false

Is this any help?