Layoutressource
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Eine Layoutressource definiert die Architektur der UI in einer Activity
oder einer Komponente einer UI.
- Dateispeicherort:
res/layout/filename.xml
Der Dateiname wird als Ressourcen-ID verwendet.
- kompilierter Ressourcentyp:
- Ressourcenzeiger auf eine Ressource vom Typ
View
(oder Unterklasse)
- Ressourcenreferenz:
-
In Java:
R.layout.filename
In XML: @[package:]layout/filename
- Syntax:
-
<?xml version="1.0" encoding="utf-8"?>
<ViewGroup
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@[+][package:]id/resource_name"
android:layout_height=["dimension" | "match_parent" | "wrap_content"]
android:layout_width=["dimension" | "match_parent" | "wrap_content"]
[ViewGroup-specific attributes] >
<View
android:id="@[+][package:]id/resource_name"
android:layout_height=["dimension" | "match_parent" | "wrap_content"]
android:layout_width=["dimension" | "match_parent" | "wrap_content"]
[View-specific attributes] >
<requestFocus/>
</View>
<ViewGroup >
<View />
</ViewGroup>
<include layout="@layout/layout_resource"/>
</ViewGroup>
Hinweis:Das Stammelement kann ein ViewGroup
-, View
- oder <merge>
-Element sein. Es kann jedoch nur ein Stammelement geben, das das Attribut xmlns:android
mit dem Namespace android
enthalten muss, wie im vorherigen Syntaxbeispiel gezeigt.
- Elemente:
-
<ViewGroup>
- Ein Container für andere
View
-Elemente. Es gibt viele verschiedene Arten von ViewGroup
-Objekten. Mit jedem Objekt kannst du das Layout der untergeordneten Elemente auf unterschiedliche Weise angeben. Zu den verschiedenen Arten von ViewGroup
-Objekten gehören LinearLayout
, RelativeLayout
und FrameLayout
.
Gehen Sie nicht davon aus, dass bei Ableitungen von ViewGroup
verschachtelte Ansichten akzeptiert werden. Einige Ansichtsgruppen sind Implementierungen der Klasse AdapterView
, deren untergeordnete Elemente nur aus einer Adapter
bestimmt werden.
Attribute:
android:id
- Ressourcen-ID. Ein eindeutiger Ressourcenname für das Element, mit dem Sie einen Verweis auf die
ViewGroup
aus Ihrer Anwendung abrufen können. Weitere Informationen finden Sie im Abschnitt Wert für android:id.
android:layout_height
- Dimension oder Keyword: Erforderlich. Die Höhe der Gruppe als Dimensionswert (oder Dimensionsressource) oder als Suchbegriff (
"match_parent"
oder "wrap_content"
). Weitere Informationen finden Sie im Abschnitt Werte für android:layout_height und android:layout_width.
android:layout_width
- Dimension oder Keyword: Erforderlich. Die Breite der Gruppe als Dimensionswert (oder Dimensionsressource) oder als Suchbegriff (
"match_parent"
oder "wrap_content"
). Weitere Informationen finden Sie im Abschnitt Werte für android:layout_height und android:layout_width.
Die Basisklasse ViewGroup
unterstützt mehr Attribute. Bei jeder Implementierung von ViewGroup
werden viele weitere Attribute unterstützt. Eine Referenz zu allen verfügbaren Attributen finden Sie in der entsprechenden Referenzdokumentation zur Klasse ViewGroup
, z. B. zu den XML-Attributen LinearLayout
.
<View>
- Eine einzelne UI-Komponente, die im Allgemeinen als Widget bezeichnet wird. Zu den verschiedenen Arten von
View
-Objekten gehören TextView
, Button
und CheckBox
.
Attribute:
android:id
- Ressourcen-ID. Ein eindeutiger Ressourcenname für das Element, mit dem Sie einen Verweis auf die
View
aus Ihrer Anwendung abrufen können. Weitere Informationen finden Sie im Abschnitt Wert für android:id.
android:layout_height
- Dimension oder Keyword: Erforderlich. Die Höhe des Elements als Dimensionswert (oder Dimensionsressource) oder als Suchbegriff (
"match_parent"
oder "wrap_content"
). Weitere Informationen finden Sie im Abschnitt Werte für android:layout_height und android:layout_width.
android:layout_width
- Dimension oder Keyword: Erforderlich. Die Breite des Elements als Dimensionswert (oder Dimensionsressource) oder als Suchbegriff (
"match_parent"
oder "wrap_content"
). Weitere Informationen finden Sie im Abschnitt Werte für android:layout_height und android:layout_width.
Die Basisklasse View
unterstützt mehr Attribute. Bei jeder Implementierung von View
werden viele weitere Attribute unterstützt. Weitere Informationen finden Sie unter Layouts. Eine Referenz zu allen verfügbaren Attributen finden Sie in der entsprechenden Referenzdokumentation, z. B. zu den XML-Attributen TextView
.
<requestFocus>
- Jedes Element, das ein
View
-Objekt darstellt, kann dieses leere Element enthalten, das seinen Anfangsfokus auf dem Bildschirm hat. Pro Datei kann nur eines dieser Elemente verwendet werden.
<include>
- Umfasst eine Layoutdatei in dieses Layout.
Attribute:
layout
- Layoutressource. Erforderlich. Verweis auf eine Layoutressource.
android:id
- Ressourcen-ID. Überschreibt die ID, die der Stammansicht im enthaltenen Layout zugewiesen ist.
android:layout_height
- Dimension oder Keyword: Überschreibt die Höhe, die der Stammansicht im enthaltenen Layout zugewiesen ist. Nur wirksam, wenn
android:layout_width
ebenfalls deklariert ist.
android:layout_width
- Dimension oder Keyword: Überschreibt die Breite, die der Stammansicht im enthaltenen Layout zugewiesen ist. Nur wirksam, wenn
android:layout_height
ebenfalls deklariert ist.
Sie können im <include>
alle anderen Layoutattribute angeben, die vom Stammelement im enthaltenen Layout unterstützt werden. Diese Attribute überschreiben die im Stammelement definierten Attribute.
Achtung:Wenn Sie Layoutattribute mit dem Tag <include>
überschreiben möchten, müssen Sie sowohl android:layout_height
als auch android:layout_width
überschreiben, damit die anderen Layoutattribute wirksam werden.
Eine weitere Möglichkeit, ein Layout einzubinden, ist die Verwendung von ViewStub
: eine einfache Ansicht, die keinen Layoutbereich beansprucht, bis Sie sie explizit aufblähen. Dabei wird eine durch ihr android:layout
-Attribut definierte Layoutdatei mit aufgenommen. Weitere Informationen zur Verwendung von ViewStub
finden Sie unter Ansichten bei Bedarf laden.
<merge>
- Ein alternatives Stammelement, das nicht in der Layouthierarchie eingezeichnet wird. Die Verwendung als Stammelement ist nützlich, wenn Sie wissen, dass dieses Layout in einem Layout platziert wird, das bereits das entsprechende übergeordnete Element (
View
) für die untergeordneten Elemente des <merge>
-Elements enthält.
Das ist besonders nützlich, wenn Sie dieses Layout mithilfe von <include>
in eine andere Layoutdatei einfügen möchten und dieses Layout keinen anderen ViewGroup
-Container erfordert. Weitere Informationen zum Zusammenführen von Layouts finden Sie unter Layouts mit <include> wiederverwenden.
Wert für android:id
Für den ID-Wert verwenden Sie normalerweise diese Syntaxform: "@+id/name"
, wie im folgenden Beispiel gezeigt. Das Pluszeichen +
gibt an, dass dies eine neue Ressourcen-ID ist. Das aapt
-Tool erstellt eine neue Ressourcen-ID in der Klasse R.java
, sofern diese noch nicht vorhanden ist.
<TextView android:id="@+id/nameTextbox"/>
Der Name nameTextbox
ist jetzt eine Ressourcen-ID, die an dieses Element angehängt ist. Sie können dann auf die TextView
verweisen, mit der die ID in Java verknüpft ist:
Kotlin
val textView: TextView? = findViewById(R.id.nameTextbox)
Java
TextView textView = findViewById(R.id.nameTextbox);
Dieser Code gibt das TextView
-Objekt zurück.
Wenn Sie jedoch bereits eine ID-Ressource definiert haben und diese noch nicht verwendet wird, können Sie diese ID auf ein View
-Element anwenden. Dazu schließen Sie das Pluszeichen im Wert android:id
aus.
Werte für android:layout_height und
android:layout_width
Die Werte für Höhe und Breite werden mithilfe der von Android unterstützten Dimensionseinheiten (px, dp, sp, pt, in, mm) oder mit den folgenden Suchbegriffen ausgedrückt:
Antwort | Beschreibung |
match_parent |
Legt die Dimension so fest, dass sie mit der des übergeordneten Elements übereinstimmt. In API-Level 8 hinzugefügt, um fill_parent zu verwerfen. |
wrap_content |
Legt die Abmessung nur auf die Größe fest, die für den Inhalt dieses Elements erforderlich ist. |
Benutzerdefinierte Ansichtselemente
Sie können benutzerdefinierte View
- und ViewGroup
-Elemente erstellen und sie wie ein Standardlayoutelement auf Ihr Layout anwenden. Sie können auch die im XML-Element unterstützten Attribute angeben. Weitere Informationen finden Sie unter Benutzerdefinierte Ansichtskomponenten erstellen.
- Beispiel:
- XML-Datei gespeichert unter
res/layout/main_activity.xml
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a TextView" />
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a Button" />
</LinearLayout>
Mit diesem Anwendungscode wird das Layout für ein Activity
in der Methode onCreate()
geladen:
-
Kotlin
public override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main_activity)
}
Java
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
}
- Siehe auch:
-
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2024-04-02 (UTC).
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Benötigte Informationen nicht gefunden"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Zu umständlich/zu viele Schritte"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Nicht mehr aktuell"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Problem mit der Übersetzung"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Problem mit Beispielen/Code"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Sonstiges"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Leicht verständlich"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Mein Problem wurde gelöst"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Sonstiges"
}]
{
"last_modified": "Zuletzt aktualisiert: 2024-04-02 (UTC).",
"state": ""
}