Dynamic GUI Layout System Adapting to Variable Screen Sizes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing graphical user interfaces (GUIs) face challenges in adapting to different device orientations and screen sizes, requiring multiple layouts optimized for specific display configurations, which can lead to aesthetic issues and inefficient use of space.
Innovation Solution
A method for generating GUIs using a layout description and runtime system that automatically allocates space and adjusts components based on display configuration, employing containers like VGroup and HGroup to divide space proportionally and adjust font sizes, ensuring consistent appearance across orientations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple layouts are created for different display configurations, then the GUI can be optimized for specific devices, but the device complexity and maintenance burden increase
Solution Approach 1:
The patent implements a universal layout system where a single layout definition can adapt to multiple display configurations through automatic scaling and reconfiguration. The runtime system detects display characteristics and dynamically adjusts the GUI without requiring separate layouts for each device type.
Solution Approach 2:
The layout system transitions from static, device-specific layouts to a dynamic system that automatically reconfigures based on runtime display detection. The GUI components can be repositioned, resized, and reorganized based on the detected display configuration, enabling a single layout to serve multiple purposes.
2Manufacturing precision
If absolute size requirements are specified for GUI elements, then the layout is precise for a specific device, but the GUI does not respond well to orientation changes or different screen sizes
Solution Approach 1:
The patent employs relative sizing parameters instead of absolute dimensions. Layout elements are defined with proportional relationships to parent containers and other elements, allowing the same layout definition to maintain precise relative positioning while adapting to different absolute screen sizes and orientations through runtime parameter adjustment.
Solution Approach 2:
The layout system divides the GUI into hierarchical container structures that can be independently scaled and positioned. Each container can contain nested containers and components, allowing the layout to be segmented into manageable units that can be independently adjusted based on display configuration while maintaining overall layout precision.
3Device complexity
If a single layout is used across all devices, then the device complexity is reduced, but the GUI cannot be optimized for different display configurations
Solution Approach 1:
The system uses a single static layout definition that becomes dynamic at runtime through automatic detection of display characteristics. The runtime system adjusts layout parameters, component sizes, and positioning based on the detected device type, screen size, and orientation, enabling optimization without requiring multiple layout files.
Solution Approach 2:
The layout system includes automatic self-adjustment capabilities where the runtime system detects display configuration and autonomously reconfigures the GUI without requiring manual intervention or pre-defined device-specific layouts. The system serves itself by automatically adapting to the running environment.
Data Source
AI summary
A method for operating a data processing system having a display screen on which a GUI is displayed is disclosed. The GUI has a plurality of configurations having different aspect ratios or numbers of pixels. The method includes providing a layout description and a runtime system that generates the GUI in response to the layout description and the display configuration. The layout description defines a first container having a plurality of components to be shown in the GUI within a first container space. Each component has a component layout description within the first container. The runtime system automatically allocates the first container space depending on the display configuration, and automatically divides the first container space into a plurality of component spaces. Each component is shown in a corresponding one of the component spaces. The first container space and the component spaces automatically change when the display configuration changes.


