Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Um eine grafische Oberfläche bestehend aus mehreren UI-Komponenten designen zu können, benötigen Sie ein Layout. Layouts haben die Aufgabe, die einzelnen UI-Komponenten einer grafischen Oberfläche anzuordnen und steuern vollautomatisch das Verhalten der UI-Komponenten bei Änderungen der Größe des übergeordneten Containers (u.a. Programmfenster, Browser-Fenster, Geräte-Display, Bildschirmauflösung). Sobald Sie eine UI-Komponente in ein Layout einfügen, wird diese nach den speziellen Regeln des jeweiligen Layouts automatisch positioniert und das Layout neu organisiert. Durch zusätzliche Einstellungsmöglichkeiten in der Toolbox können Sie das Verhalten der einzelnen UI-Komponenten definieren.  Anstatt die gesamte Oberfläche mit einem einzigen Layout umzusetzen, ist es leichter und effizienter je nach Anwendungsfall verschiedene Layouts miteinander zu kombinieren. Dies verbessert zudem die Performance Ihrer Oberfläche zur Laufzeit. RapidClipse bietet Ihnen deshalb RapidClipse bietet Ihnen insgesamt 6 verschiedene Layout-Typen:
  • XdevAbsoluteLayout
  • XdevGridLayout
  • XdevBorderLayout
  • XdevHorizontalLayout
  • XdevVerticalLayout
  • XdevFormLayout

UI-Komponenten

  • VerticalLayout - Ordnet Komponente untereinander an.
  • HorizontalLayout - Ordnet Komponente nebeneinander an.
  • FlexLayout - Ordnet Komponente nebeneinander an. Wenn zu viele Komponente nebeneinander sind, werden weitere Komponente darunter angeordnet.
  • FormLayout - Ordnet Komponente gleichmäßig in einen Gitter an.
  • SplitLayout - Erstellt zwei Fenster, die standardmäßig vertikal durch einen Splitter getrennt werden.
Hinweis:
  • Content - Die Größe einer GUIUI-Komponente richtet sich standardmäßig automatisch nach ihrem wird standardmäßig durch ihren Content (Inhalt) definiert, z.B. Textdurch ein TextFields, Buttons, Icon etc. Bei zu geringer Größe wird der Content ggf. abgeschnitten oder ragt aus der GUI-Komponente herausetc. Wird die Height oder Width auf "?" gestellt kollabiert das Layout, falls kein Inhalt vorhanden ist. Falls ein Layout mehr Inhalt bekommt als es darstellen kann, overflowed der Inhalt. Scroller für diesen Inhalt können durch die Property "Styling → Scrollbars" eingestellt werden.
  • Streckung - In einem Layout kann eine UI-Komponente nur dann gestreckt werden (Toolbox > Width > %), wenn diese eine Gewichtung (Weight) erhält.
  • Layout-Verschachtelungen - Komplexere Oberflächen können mithilfe von verschachtelten Layouts umgesetzt werden. Zwei Vertikale Columns können z.B. mit Hilfe von zwei VerticalLayouts in einem HorizontalLayout dargestellt werden.
  • Performance im Browser - Zu viele Layout-Verschachtelungen mit entsprechend vielen UI-Komponenten darin können zu Performance-Problemen beim Rendern der Oberfläche im Browser, ggf. sogar zu Fehlermeldungen führen.

Außenabstand (Margin)

In den Properties > Margin kann zwischen dem Rand des Containers und der darin gelayouteten UI-Komponenten ein Außenabstand festgelegt werden. Bei allen Layouts ist der Außenabstand standardmäßig deaktiviert.

...

Ohne Außenabstand:

Image Removed Image Added

...

Mit Außenabstand:

Image Removed

  1. Selektieren Sie bei Structure das Layout.
    Image Removed
  2. Klicken Sie bei Properties > Margin > TLBR auf Image Removed.
  3. Legen Sie im folgenden Assistent die enstperchenden Außenabstände fest.
    Image Removed

 (zu beachten ist der Abstand zwischen den Hightlight-Border und dem Äußeren Menü)

Image Added

Innenabstand (Spacing)

In den Properties > Margin kann  > Spacing kann zwischen den UI-Komponenten ein Innenabstand Abstand festgelegt werden. Bei allen Layouts ist der Innenabstand standardmäßig aktiviert.

...

Ohne Innenabstand:

Image RemovedImage Added

...

Mit Innenabstand:Image Removed

...

Image Added

Abstand zwischen Layout und Komponente (Padding)

Der Abstand zwischen Layout und Komponente heißt Padding. Dieser kann über Properties > Object > Padding aktiviert werden. Bei allen Layouts ist das Padding standardmäßig deaktiviert.

Ohne Padding:

Image Added

Mit Padding:

Image Added