Verwenden von FireMonkey-Ansichten
Nach oben zu FireMonkey-Anwendungsdesign
Inhaltsverzeichnis
Mithilfe von Ansichten können Sie verschiedene Layouts und Komponenten für die Formulare Ihrer Anwendung für das jeweilige Gerät, auf dem Ihre Anwendung ausgeführt wird, festlegen.
Neue Formulare enthalten anfänglich eine einzige Ansicht: die Master-Ansicht mit dem Standardnamen unit1.fmx
.
- Die Master-Ansicht wird geladen, wenn Ihre Anwendung keine andere passende Ansicht für das Geräte enthält, auf dem Ihre Anwendung ausgeführt wird.
- Sie können Ihrer Anwendung zusätzliche Ansichten hinzufügen, wenn Sie verschiedene Ansichten für unterschiedliche Geräte vorsehen möchten.
- Wir empfehlen Ihnen, Ansichten für Gerätegrundtypen, wie Telefon und Tablet, zu erstellen. Das Erstellen aller in der Ansichtsauswahl möglicher Ansichten wird nicht empfohlen.
- Die Ansichten, die Sie hinzufügen, sind angepasste Versionen der Master-Ansicht für ein bestimmtes Gerät oder einen Gerätetyp, die alle Komponenten und Anpassungen von der Master-Ansicht erben.
- Sie können mit der Ansichtsauswahl des Formular-Designers Ihrem Formular Ansichten hinzufügen oder daraus entfernen, und Sie können auch eigene Ansichten erstellen:
Vererbung von Ansichten
Jede weitere Ansicht, die Sie Ihrem Projekt hinzufügen, erbt die Komponenten der Master-Ansicht und deren Eigenschaften.
Beim Hinzufügen oder Entfernen von Komponenten aus der Master-Ansicht gibt der Formular-Designer diese Änderung an vorhandene Ansichten weiter. Komponenten können nur der Master-Ansicht hinzugefügt bzw. daraus entfernt werden; Sie können Komponenten nicht zu anderen Ansichten hinzufügen bzw. daraus entfernen. Wenn Sie möchten, dass eine Komponente nur in bestimmten Ansichten angezeigt wird, können Sie diese Komponente in anderen Ansichten ausblenden.
Wenn Sie in der Master-Ansicht Eigenschaften oder Komponenten ändern, gibt der Formular-Designer diese Änderungen auch an alle vorhandenen Formulare weiter, sofern in einer Ansicht nicht bereits ein anderer Wert für diese Eigenschaft festlegt wurde. Sie können Eigenschaftswerte in einer bestimmten Ansicht anpassen, um den Wert aus der Master-Ansicht zu überschreiben.
Wiederherstellen der Eigenschaftswerte der Master-Ansicht für eine Komponente
So stellen Sie die Eigenschaftswerte aus der Master-Ansicht für eine Komponente in einer anderen Ansicht wieder her:
- Wählen Sie die betreffende Ansicht in der Ansichtsauswahl aus.
- Klicken Sie im Formular-Designer mit der rechten Maustaste auf die Zielkomponente.
- Wählen Sie im Kontextmenü Geerbte Einstellungen wiederherstellen.
Alle Eigenschaften der ausgewählten Komponente werden auf die Werte der Master-Ansicht zurückgesetzt.
Ausblenden von Komponenten
Sie können Komponenten nicht aus einer Ansicht entfernen, aber sie können Komponenten ausblenden.
So blenden Sie eine Komponente in einer bestimmten Ansicht aus:
- Wählen Sie die Komponente aus.
- Setzen Sie im Objektinspektor die Eigenschaft Visible auf
False
.
Über bedingten Code im Quelltext-Editor können Sie eine Komponente für eine bestimmte Plattform ausblenden:
Delphi:
{$IFDEF ANDROID}
SpeedButton1.Visible := False;
{$ENDIF}
#if defined(__ANDROID__) && defined(__arm__)
SpeedButton1->Visible = false;
#endif
Sie können diesen Code beispielsweise in einer Ereignisbehandlungsroutine für das Ereignis OnCreate ausführen. Weil Sie die Sichtbarkeit der Komponente zur Laufzeit ändern, wird sie im Formular-Designer weiterhin angezeigt.
Algorithmus zum Laden von Ansichten
Wenn Sie Ihre Anwendung auf einem Gerät ausführen, wertet FireMonkey die in der Anwendung definierten Ansichten aus und führt sie nach Priorität auf. Die Liste enthält nur Ansichten deren Eigenschaft Platform mit der Plattform, auf der die Anwendung ausgeführt wird, übereinstimmt. Die Priorität der einzelnen Ansichten in der Liste wird anhand der folgenden Kriterien von der höchsten (1) bis zur niedrigsten Priorität bestimmt:
Priorität | Voraussetzungen |
---|---|
1 |
|
2 |
|
3 |
|
FireMonkey lädt die erste Ansicht aus der Liste. Wenn keine der Ansichten die Voraussetzungen erfüllt, lädt FireMonkey stattdessen die Master-Ansicht.
Die Details zu den in RAD Studio integrierten Ansichten finden Sie in den plattformspezifischen Implementierungen der Unit System.Devices: System.Android.Devices.pas
, System.Win.Devices.pas
usw.
Bereiche von Gerätegrößen für Android-Ansichten
Anhand von Größenbereichen wird die Ansicht bestimmt, die in Android-Apps verwendet wird. Die folgende Tabelle enthält die Bereiche für jede Ansicht in Querformatkoordinaten. Die Laufzeit benötigt keine exakte Übereinstimmung, um ein Ansicht auszuwählen. Es wird die bestmöglichste Übereinstimmung ausgewählt.
Ansichtsname | Minimale Größe (Pixel) |
Maximale Größe (Pixel) |
PPI |
---|---|---|---|
Android 3.5" Phone |
800 x 500 |
1000 x 600 |
320 |
Android 4" Phone |
1168 x 730 |
1360 x 850 |
320 |
Android 5" Phone |
1440 x 900 |
1708 x 960 |
320 |
Android 7" Tablet |
1708 x 960 |
1920 x 1200 |
320 |
Android 10" Tablet |
2400 x 1500 |
2560 x 1600 |
320 |
Andere Formularnamen zur Laufzeit
Zur Laufzeit kann die Eigenschaft Name der Formulare Ihrer Anwendung von den Namen abweichen, die Sie beim Entwurf festgelegt haben. Wenn FireMonkey eine andere Ansicht als die Master-Ansicht lädt, werden die Namen der Formulare aus dem Namen, die Sie in der Master-Ansicht zugewiesen haben, und dem Codenamen der geladenen Ansicht und einem Unterstrich (_
) gebildet. Wenn beispielsweise der Name eines Formulars "MyForm" lautet und FireMonkey zur Laufzeit die Ansicht "Windows Desktop" lädt, lautet der Laufzeitname des Formulars "MyForm_Windows".
Ansichten mit namenlosen Komponenten können nicht erstellt werden
Bevor Sie eine neue Ansicht für Ihr Projekt erstellen können, müssen Sie sicherstellen, dass alle Komponenten in Ihrem Projekt einen Namen haben.
Wenn Sie eine geräteübergreifende Anwendung mit einer oder mehreren Ansichten mit namenlosen Komponenten öffnen, zeigt RAD Studio die folgende Fehlermeldung an:
Cannot inherit from form <form name>. It contains a component with a blank name property.
Themen
- Hinzufügen von Ansichten zu einem geräteübergreifenden Projekt
- Hinzufügen einer angepassten Ansicht zur Ansichtsauswahl