
Dynamic changes in layout properties, either because of user actions, or animations, requires a recalculation of the layout. Maintaining a stable frame rate during recalculation is challenging, as the layout process is […]
Dynamic changes in layout properties, either because of user actions, or animations, requires a recalculation of the layout. Maintaining a stable frame rate during recalculation is challenging, as the layout process is […]
Let’s get into some technical details about how a layout engine works. We assume that we have a tree of elements that comprise the UI. Starting from the root node, we request […]
Images require various sizing modes to fit in a responsive layout. Here we’ll look at the relationship between the element and visual and the basic sizing options. I’ll also look at […]
A box model describes how to measure an element for layout. It defines what size is and how it relates to the content, margin and padding. It may seem trivial, but clear […]
A good UI design must accommodate the various device formats and resolutions that users have. Element placement cannot be absolute, but rather be constrained and expanded by the available space. Layouts […]
Layout determines how children are positioned and sized within their parent element. There are three approaches to placing child elements within a parent: Additive: The children combine to define the size […]
Devices have various physical resolutions and densities. One phone may be 10cm wide and have 800pixels across, while another may be 8cm wide and have 1200pixels across. A UI engine needs to […]
Elements have either a natural size, a dependent size, or combination of the two. The size of an element influences its placement. The user and creator of a UI layout system must […]
When I saw the below demo I thought “neat, how’d they do that”? That may sound surprising if you knew that I wrote the API for this. In this article I’ll describe […]
A simple tap of the screen invokes a staggering amount of calculations. That screen is actually big tree of UI elements, and we need to navigate it quickly to find the right […]