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

Best scalable UI solution for most android devices #1

Open
blikoor opened this issue Mar 8, 2020 · 0 comments
Open

Best scalable UI solution for most android devices #1

blikoor opened this issue Mar 8, 2020 · 0 comments
Labels
enhancement New feature or request question Further information is requested

Comments

@blikoor
Copy link
Owner

blikoor commented Mar 8, 2020

Is your feature request related to a problem? Please describe.
Scaling to fit the whole scene, will result in possible black borders on different aspect ratios.

Describe the solution you'd like
I want the best possible scalable UI appropriate for the project. The UI elements should keep their relative positions and scale or stretch appropriately.

Describe alternatives you've considered

  1. The unused space (black borders), can be used for a larger background image to display additional content that is outside of the logical scene and thus only visible on devices that have a different aspect ratio.

  2. Change project setting to Stretch Mode: 'viewport' and Stretch Aspect: 'expand'. Anchor the UI elements in position, relative to the parent node.

  • Results: The UI elements keep their position relative to the parent node, but can overlap when scaled down. Texture stretching can occur when scaled up, using a NinePatchRect instead of a TextureRect solve this issue.

  • Error(s): _update_root_rect: Font oversampling does not work in 'Viewport' stretch mode, only '2D'. <C++ Source> scene/main/scene_tree.cpp:1236 @ _update_root_rect()

  1. Use the previous project settings. Place each top UI element in a GridContainer, all GridContainers inside a HBoxContainer, and anchor the HBoxContainer relative to the parent node.
  • Results: The top UI elements keep together, the container keep its position relative to the parent node. However, the HBoxContainer end up being lager than the logical scene width of 576 px and needs to be scaled, but UI elements are undersized.

  • Error(s): _update_root_rect: Font oversampling does not work in 'Viewport' stretch mode, only '2D'. <C++ Source> scene/main/scene_tree.cpp:1236 @ _update_root_rect()

@blikoor blikoor added enhancement New feature or request question Further information is requested labels Mar 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

1 participant