Book Image

Expert Delphi - Second Edition

By : Marco Cantù, Paweł Głowacki
Book Image

Expert Delphi - Second Edition

By: Marco Cantù, Paweł Głowacki

Overview of this book

Master Delphi, the most powerful Object Pascal IDE and versatile component library for cross-platform native app development, by harnessing its capabilities for building natively compiled, blazingly fast apps for all major platforms, including Android, iOS, Windows, Mac, and Linux. Expert Delphi begins with a quick overview of Delphi, helping you get acquainted with the IDE and the Object Pascal language. The book then quickly progresses to more advanced concepts, followed by the architecture of applications and the FireMonkey library, guiding you through building server-side services, parallel programming, and database access. Toward the end, you’ll learn how to integrate your app with various web services and deploy them effectively. By the end of this book, you’ll be adept at building powerful, cross-platform, native apps for iOS, Android, Windows, and macOS—all from a single code base.
Table of Contents (21 chapters)
Free Chapter
1
Part 1: Building Blocks
6
Part 2: Going Mobile
12
Part 3: From Data to Services
19
Index

Leveraging layout controls

Layout controls are a fundamental tool to define an adaptive and flexible UI for FireMonkey apps.

If you want to create a flexible and fluid UI that adapts to different device sizes, you should not position your controls at absolute points. In most of the previous demos, we used alignments and nested controls to allow the actual controls to adapt to the hosting surface and window. In the MultiViewDemo example, for example, I used a layout with a speed button and a label with specific alignments.

The TLayout control is the base layout. It’s an empty and invisible container. By invisible, I mean it has no visible elements in the UI, but the control itself needs to be visible for a user to see the controls it hosts. The TLayout control can use absolute positioning or alignment with margins, like any other FireMonkey container control.

However, there are a number of inherited layout classes that offer specialized behavior. If you search layout...