Eine Drawable-Ressource ist ein allgemeines Konzept für eine Grafik, die auf dem Bildschirm gezeichnet werden kann
die Sie mit APIs wie getDrawable(int) abrufen oder anwenden können
in eine andere XML-Ressource mit Attributen wie android:drawable und android:icon.
Es gibt verschiedene Arten von Drawables:
  - Bitmap-Datei
- 
    
- Eine Bitmapgrafikdatei (PNG, WEBP, JPG oder GIF)
      Erstellt ein BitmapDrawable.
- Neun-Patch-Datei
- Eine PNG-Datei mit dehnbaren Bereichen, damit die Größe von Bildern je nach Inhalt angepasst werden kann (.9.png). Erstellt eineNinePatchDrawable.
- Ebenenliste
- Ein Drawable, das ein Array anderer Drawables verwaltet. Diese werden in Array-Reihenfolge gezeichnet,
-Element mit dem größten Index wird oben gezeichnet. Erstellt ein LayerDrawable.
- Liste der Bundesstaaten
- Eine XML-Datei, die auf verschiedene Bitmapgrafiken verweist
    für verschiedene Zustände, z. B. um ein anderes Bild zu verwenden, wenn auf eine Schaltfläche getippt wird.
    Erstellt ein StateListDrawable.
- Levelliste
- Eine XML-Datei, die ein Drawable definiert, das eine Reihe von alternativen Drawables verwaltet, von denen jedes
mit einem numerischen Höchstwert. Erstellt ein LevelListDrawable.
- Übergangs-Drawable
- Eine XML-Datei, die ein Drawable definiert, das zwischen zwei Drawable-Ressourcen überblenden kann.
Erstellt ein TransitionDrawable.
- Eingefügtes Drawable
- Eine XML-Datei, die ein Drawable definiert, das ein anderes Drawable um eine bestimmte Entfernung einfügt.
Dies ist nützlich, wenn für eine Ansicht ein Hintergrund-Drawable benötigt wird, das kleiner als das tatsächliche
Grenzen festzulegen.
- Clip-Drawable
- Eine XML-Datei, mit der ein Drawable definiert wird, mit dem ein anderes Drawable basierend auf diesem Drawable zugeschnitten wird
Aktueller Levelwert. Erstellt ein ClipDrawable.
- Scale-Drawable
- Eine XML-Datei, die ein Drawable definiert, das die Größe eines anderen Drawable-Elements basierend auf seinem
Aktueller Levelwert.  Erstellt: ScaleDrawable
- Form-Drawable
- Eine XML-Datei, die eine geometrische Form einschließlich Farben und Farbverläufen definiert.
    Erstellt ein GradientDrawable.
Informationen zur
  AnimationDrawable erstellen,
  Weitere Informationen finden Sie im Dokument Animationsressourcen.
Hinweis: Eine Farbressource kann auch als
in XML als Drawable verwendet. Zum Beispiel können Sie beim Erstellen einer Liste mit Bundesstaaten/-ländern
Drawable kannst du auf eine Farbressource für das android:drawable-Attribut (android:drawable="@color/green") verweisen.
Bitmap
Ein Bitmapbild. Android unterstützt Bitmapdateien in den folgenden Formaten:
PNG (bevorzugt), WEBP (bevorzugt, API-Level 17 oder höher erforderlich), JPG (akzeptabel), GIF (nicht empfohlen).
Sie können direkt auf eine Bitmapdatei verweisen, indem Sie den Dateinamen als Ressourcen-ID verwenden, oder ein
Alias-Ressourcen-ID in XML.
Hinweis:Bitmapdateien werden eventuell automatisch mit einer verlustfreien
Image-Komprimierung durch das aapt-Tool während des Build-Prozesses. Für
Eine echte Farbpalette, die nicht mehr als 256 Farben erfordert, kann in ein 8-Bit-Format konvertiert werden.
PNG mit Farbpalette. Dies führt zu einem Bild von gleicher Qualität, das weniger
zu speichern.
Beachten Sie daher, dass sich die in diesem Verzeichnis abgelegten Image-Binärdateien während des Build-Prozesses ändern können. Wenn
Sie ein Bild als Bitstream lesen, um es in eine Bitmap zu konvertieren, platzieren Sie Ihre Bilder
in den Ordner res/raw/. Dort sind sie nicht optimiert.
Bitmapdatei
Eine Bitmapdatei ist eine PNG-, WEBP-, JPG- oder GIF-Datei. Android erstellt ein Drawable
Ressource für jede dieser Dateien, wenn Sie sie im Verzeichnis res/drawable/ speichern.
- Dateispeicherort:
- res/drawable/filename.png(- .png,- .webp,- .jpgoder- .gif)
 Der Dateiname ist die Ressourcen-ID.
- Datentyp der kompilierten Ressource:
- Ressourcenzeiger auf ein BitmapDrawable
- Ressourcenreferenz:
- 
In Java: R.drawable.filename
 XML:@[package:]drawable/filename
- Beispiel:
- Wenn ein Bild unter res/drawable/myimage.pnggespeichert ist, wird diese Layout-XML-Datei angewendet.
das Bild in eine Ansicht:<ImageView
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:src="@drawable/myimage" />Mit dem folgenden Anwendungscode wird das Bild als Drawableabgerufen:
 Kotlinval drawable: Drawable? = ResourcesCompat.getDrawable(resources, R.drawable.myimage, null)
 
- Siehe auch:
- 
XML-Bitmap
Eine XML-Bitmap ist eine in XML definierte Ressource, die auf eine Bitmapdatei verweist. Der Effekt ist ein Alias für
Bitmap-Rohdatei. In der XML-Datei können zusätzliche Eigenschaften für die Bitmap angegeben werden, z. B. Dithering und Tiling.
Hinweis: Sie können ein <bitmap>-Element als untergeordnetes Element von verwenden.
Ein <item>-Element. Für
Wenn Sie beispielsweise eine Statusliste oder Ebenenliste erstellen,
können Sie die android:drawable ausschließen.
eines <item>-Elements und verschachteln Sie darin ein <bitmap>-Element
, der das Drawable-Element definiert.
- Dateispeicherort:
- res/drawable/filename.xml
 Der Dateiname ist die Ressourcen-ID.
- Datentyp der kompilierten Ressource:
- Ressourcenzeiger auf ein BitmapDrawable
- Ressourcenreferenz:
- 
In Java: R.drawable.filename
 XML:@[package:]drawable/filename
- Syntax:
- 
<?xml version="1.0" encoding="utf-8"?>
<bitmap
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@[package:]drawable/drawable_resource"
    android:antialias=["true" | "false"]
    android:dither=["true" | "false"]
    android:filter=["true" | "false"]
    android:gravity=["top" | "bottom" | "left" | "right" | "center_vertical" |
                      "fill_vertical" | "center_horizontal" | "fill_horizontal" |
                      "center" | "fill" | "clip_vertical" | "clip_horizontal"]
    android:mipMap=["true" | "false"]
    android:tileMode=["disabled" | "clamp" | "repeat" | "mirror"] />
- Elemente:
- 
  - <bitmap>
- Erforderlich. Definiert die Bitmapquelle und ihre Eigenschaften.
      Attribute: 
        - xmlns:android
- String. Definiert den XML-Namespace, der sein muss.
          "http://schemas.android.com/apk/res/android"Dies ist nur erforderlich, wenn der<bitmap>ist das Stammelement. Es ist nicht erforderlich, wenn der<bitmap>ist in einem<item>verschachtelt.
- android:src
- Drawable resource. Erforderlich. Verweis auf ein Drawable
.
- android:antialias
- Boolescher Wert. Aktiviert oder deaktiviert die Kantenglättung.
- android:dither
- Boolescher Wert. Aktiviert oder deaktiviert das Dithering der Bitmap, wenn die Bitmap nicht
haben dieselbe Pixelkonfiguration wie der Bildschirm, z. B. eine ARGB-8888-Bitmap bei einer RGB-565-Bitkarte.
Bildschirm.
- android:filter
- Boolescher Wert. Aktiviert oder deaktiviert die Bitmapfilterung. Filtern wird verwendet, wenn der
die Bitmap verkleinert oder gestreckt wird, um ihr Erscheinungsbild zu glätten.
- android:gravity
- Keyword: Definiert die Schwerkraft für die Bitmap. Die Schwerkraft gibt an, wo
Positioniere das Drawable in seinem Container, wenn die Bitmap kleiner als der Container ist.
            Muss einer oder mehrere der folgenden konstanten Werte sein, die durch |getrennt sind:
 
| Wert | Beschreibung | 
|---|
 | top | Platzieren Sie das Objekt oben auf dem Container, ohne seine Größe zu ändern. |  | bottom | Platzieren Sie das Objekt unten in den Container, ohne seine Größe zu ändern. |  | left | Platzieren Sie das Objekt auf der linken Seite des Behälters, ohne seine Größe zu ändern. |  | right | Platzieren Sie das Objekt auf der rechten Seite des Containers, ohne seine Größe zu ändern. |  | center_vertical | Platzieren Sie das Objekt in der vertikalen Mitte des Containers, ohne seine Größe zu ändern. |  | fill_vertical | Vergrößere das Objekt bei Bedarf vertikal, damit es den Behälter vollständig ausfüllt. |  | center_horizontal | Platzieren Sie das Objekt in der horizontalen Mitte des Containers, ohne seine Größe zu ändern. |  | fill_horizontal | Vergrößere das Objekt bei Bedarf horizontal, damit es den Behälter vollständig ausfüllt. |  | center | Platzieren Sie das Objekt sowohl auf der vertikalen als auch auf der horizontalen Achse in der Mitte des Containers, nicht
indem Sie die Größe ändern. |  | fill | Vergrößern Sie die horizontale und vertikale Größe des Objekts, damit es vollständig ausfüllt.
Container. Das ist die Standardeinstellung. |  | clip_vertical | Zusätzliche Option, die festgelegt werden kann, dass der obere und/oder untere Rand des untergeordneten Elements
die Grenzen seines Containers aus. Der Clip basiert auf der vertikalen Schwerkraft:
wird die obere Kante durch eine untere Schwerkraft abgeschnitten, und keiner der beiden hält beide Kanten ab. |  | clip_horizontal | Zusätzliche Option, die festgelegt werden kann, dass der linke und/oder rechte Rand des untergeordneten Elements
die Grenzen seines Containers aus. Der Clip basiert auf der horizontalen Schwerkraft:
wird die rechte Kante durch die rechte Schwerkraft abgeschnitten. Beide Kanten werden durch keine der beiden Kanten abgeschnitten. |  
 
- android:mipMap
- Boolescher Wert. Aktiviert oder deaktiviert den Mipmap-Hinweis. Weitere Informationen findest du in den setHasMipMap().
          Der Standardwert ist "false".
- android:tileMode
- Keyword: Definiert den Kachelmodus. Wenn der Kachelmodus aktiviert ist, wird die Bitmap
wiederholt. Die Schwerkraft wird ignoriert, wenn der Kachelmodus aktiviert ist.
            Muss einer der folgenden konstanten Werte sein: 
| Wert | Beschreibung | 
|---|
 | disabled | Die Bitmap nicht in Kacheln aufteilen. Dies ist der Standardwert. |  | clamp | Die Randfarbe replizieren, wenn der Shader außerhalb seiner ursprünglichen Begrenzungen zieht |  | repeat | Wiederholen Sie das Bild des Shaders horizontal und vertikal. |  | mirror | Wiederholen Sie das Bild des Shaders horizontal und vertikal und wechseln Sie dabei die Spiegelbilder, sodass
benachbarte Bilder immer fließen. |  
 
 
 
- Beispiel:
- 
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/icon"
    android:tileMode="repeat" />
- Siehe auch:
- 
Neun-Patch
Ein NinePatch ist ein PNG-Bild, in dem Sie dehnbare Bereiche definieren können.
dass Android skaliert wird, wenn Inhalte innerhalb der Ansicht die normalen Bildgrenzen überschreiten. Ich
Diese Art von Bild wird in der Regel als Hintergrund einer Ansicht zugewiesen, für die mindestens eine Dimension festgelegt ist.
an "wrap_content".
Wenn die Ansicht größer wird, um den Inhalt aufzunehmen, wird das 9-Patch-Image
an die Größe der Ansicht angepasst. Ein Beispiel für die Verwendung eines Images mit neun Patches ist die
Hintergrund des standardmäßigen Button-Widgets von Android verwendet, der bis zu
um den Text (oder das Bild) in die Schaltfläche einzufügen.
Wie bei einer normalen Bitmap können Sie direkt auf eine 9-Patch-Datei verweisen.
oder von einer durch XML definierten Ressource.
Weitere Informationen zum Erstellen einer Neun-Patch-Datei mit dehnbaren Regionen
Siehe Bitmaps mit anpassbarer Größe erstellen (9-Patch-Dateien).
Neun-Patch-Datei
- Dateispeicherort:
- res/drawable/filename.9.png
 Der Dateiname ist die Ressourcen-ID.
- Datentyp der kompilierten Ressource:
- Ressourcenzeiger auf ein NinePatchDrawable
- Ressourcenreferenz:
- 
In Java: R.drawable.filename
 XML:@[package:]drawable/filename
- Beispiel:
- Mit einem unter res/drawable/myninepatch.9.pnggespeicherten Bild hat dieses Layout-XML
wendet das Neun-Patch auf eine Ansicht an:<Button
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:background="@drawable/myninepatch" />
- Siehe auch:
- 
XML 9-Patch
Ein XML-9-Patch ist eine in XML definierte Ressource, die auf eine 9-Patch-Datei verweist. Die XML-Datei kann
das Dithering für das Bild angeben.
- Dateispeicherort:
- res/drawable/filename.xml
 Der Dateiname ist die Ressourcen-ID.
- Datentyp der kompilierten Ressource:
- Ressourcenzeiger auf ein NinePatchDrawable
- Ressourcenreferenz:
- 
In Java: R.drawable.filename
 XML:@[package:]drawable/filename
- Syntax:
- 
<?xml version="1.0" encoding="utf-8"?>
<nine-patch
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@[package:]drawable/drawable_resource"
    android:dither=["true" | "false"] />
- Elemente:
- 
  - <nine-patch>
- Erforderlich. Definiert die 9-Patch-Quelle und ihre Eigenschaften.
      Attribute: 
        - xmlns:android
- String. Erforderlich. Definiert den XML-Namespace, der sein muss.
          "http://schemas.android.com/apk/res/android"
- android:src
- Drawable resource. Erforderlich. Verweis auf ein Neun-Patch
-Datei.
- android:dither
- Boolescher Wert. Aktiviert oder deaktiviert das Dithering der Bitmap, wenn die Bitmap nicht
haben dieselbe Pixelkonfiguration wie der Bildschirm, z. B. eine ARGB-8888-Bitmap bei einer RGB-565-Bitkarte.
Bildschirm.
 
 
- Beispiel:
- 
<?xml version="1.0" encoding="utf-8"?>
<nine-patch xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/myninepatch"
    android:dither="false" />
Ebenenliste
Ein LayerDrawable ist ein Drawable-Objekt.
das ein Array
anderer Drawables verwaltet. Jedes Drawable in der Liste wird in der Reihenfolge
Liste. Das letzte Drawable in der Liste wird oben gezeichnet.
Jedes Drawable wird durch ein <item>-Element innerhalb eines einzelnen <layer-list>-Elements dargestellt.
- Dateispeicherort:
- res/drawable/filename.xml
 Der Dateiname ist die Ressourcen-ID.
- Datentyp der kompilierten Ressource:
- Ressourcenzeiger auf ein LayerDrawable
- Ressourcenreferenz:
- 
In Java: R.drawable.filename
 XML:@[package:]drawable/filename
- Syntax:
- 
<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:drawable="@[package:]drawable/drawable_resource"
        android:id="@[+][package:]id/resource_name"
        android:top="dimension"
        android:right="dimension"
        android:bottom="dimension"
        android:left="dimension" />
</layer-list>
- Elemente:
- 
  - <layer-list>
- Erforderlich. Dies muss das Stammelement sein. Enthält ein oder mehrere <item>-Elemente.Attribute: 
        - xmlns:android
- String. Erforderlich. Definiert den XML-Namespace, der sein muss.
          "http://schemas.android.com/apk/res/android"
 
- <item>
- Definiert ein Drawable, das im Layer-Drawable an einer durch seine Attribute definierten Position platziert werden soll.
Muss einem <layer-list>-Element untergeordnet sein. Nimmt Kind<bitmap>an
Elemente.Attribute: 
        - android:drawable
- Drawable resource. Erforderlich. Verweis auf ein Drawable
.
- android:id
- Ressourcen-ID. Eine eindeutige Ressourcen-ID für dieses Drawable. So erstellen Sie eine neue Ressource:
ID für diesen Artikel, verwenden Sie das folgende Format:
"@+id/name"Das Pluszeichen zeigt an, dass dieser
ID. Mit dieser Kennung können Sie
das Drawable mitView.findViewById()oderActivity.findViewById()abrufen und ändern.
- android:top
- Dimension. Der obere Offset als Dimensionswert oder Dimensionsressource.
- android:right
- Dimension. Den rechten Versatz als Dimensionswert oder Dimensionsressource.
- android:bottom
- Dimension. Der untere Offset als Dimensionswert oder Dimensionsressource.
- android:left
- Dimension. Der linke Offset als Dimensionswert oder Dimensionsressource.
 Alle Drawable-Elemente werden standardmäßig so skaliert, dass sie der Größe der enthaltenden Ansicht entsprechen. Das heißt:
Wenn Sie Ihre Bilder an verschiedenen Positionen in einer Ebenenliste platzieren, kann dies die Ansicht vergrößern
werden einige Bilder entsprechend skaliert. Um dies zu vermeiden
Skalieren Sie Elemente in der Liste, verwenden Sie ein <bitmap>-Element innerhalb des<item>-Elements, um das Drawable anzugeben und die Schwerkraft für etwas festzulegen, das nicht
Skalierung, wie z. B."center". Beispielsweise definiert die folgende<item>ein Element
das an die Containeransicht angepasst wird:
 <item android:drawable="@drawable/image" /> Im folgenden Beispiel wird ein <bitmap>-Element mit zentriertem Mittelpunkt verwendet, um eine Skalierung zu vermeiden.
Schwerkraft:
 <item>
  <bitmap android:src="@drawable/image"
          android:gravity="center" />
</item>
 
- Beispiel:
- XML-Datei gespeichert unter res/drawable/layers.xml:<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
      <bitmap android:src="@drawable/android_red"
        android:gravity="center" />
    </item>
    <item android:top="10dp" android:left="10dp">
      <bitmap android:src="@drawable/android_green"
        android:gravity="center" />
    </item>
    <item android:top="20dp" android:left="20dp">
      <bitmap android:src="@drawable/android_blue"
        android:gravity="center" />
    </item>
</layer-list>In diesem Beispiel wird ein verschachteltes <bitmap>-Element verwendet, um das Drawable zu definieren
Ressource für jeden Artikel mit der Schwerkraft"center". Dadurch wird sichergestellt, dass keines der Bilder
passen die Größe des Containers an, da die Größenänderung durch die Versatzbilder verursacht wird.
 Diese Layout-XML wendet das Drawable auf eine Ansicht an: <ImageView
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:src="@drawable/layers" />Das Ergebnis ist ein Stapel immer weiter versetzter Bilder:   
- Siehe auch:
- 
Statusliste
StateListDrawable ist ein in XML definiertes Drawable-Objekt
die dieselbe Grafik anhand mehrerer Bilder darstellen, je nachdem,
des Objekts. So lässt sich beispielsweise der Status eines Button-Widgets antippen, fokussieren
oder keines von beiden; Mit einem Drawable für die Statusliste können Sie für jedes
Bundesstaat.
Sie beschreiben die Liste der Bundesstaaten in einer XML-Datei. Jede Grafik wird durch ein <item>-Element innerhalb eines einzelnen <selector>-Elements dargestellt. Jeweils <item>
verwendet verschiedene Attribute, um den Zustand zu beschreiben, in dem sie als Grafik für die
Drawable.
Bei jeder Statusänderung wird die Statusliste von oben nach unten durchlaufen. Das erste Element, das
mit dem aktuellen Status übereinstimmt. Die Auswahl basiert nicht auf dem
Übereinstimmung“ sondern das erste Element,
das die Mindestkriterien für den Bundesstaat erfüllt.
- Dateispeicherort:
- res/drawable/filename.xml
 Der Dateiname ist die Ressourcen-ID.
- Datentyp der kompilierten Ressource:
- Ressourcenzeiger auf ein StateListDrawable
- Ressourcenreferenz:
- 
In Java: R.drawable.filename
 XML:@[package:]drawable/filename
- Syntax:
- 
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:constantSize=["true" | "false"]
    android:dither=["true" | "false"]
    android:variablePadding=["true" | "false"] >
    <item
        android:drawable="@[package:]drawable/drawable_resource"
        android:state_pressed=["true" | "false"]
        android:state_focused=["true" | "false"]
        android:state_hovered=["true" | "false"]
        android:state_selected=["true" | "false"]
        android:state_checkable=["true" | "false"]
        android:state_checked=["true" | "false"]
        android:state_enabled=["true" | "false"]
        android:state_activated=["true" | "false"]
        android:state_window_focused=["true" | "false"] />
</selector>
- Elemente:
- 
  - <selector>
- Erforderlich. Dies muss das Stammelement sein. Enthält ein oder mehrere <item>-Elemente.Attribute: 
        - xmlns:android
- String. Erforderlich. Definiert den XML-Namespace, der sein muss.
          "http://schemas.android.com/apk/res/android"
- android:constantSize
- Boolescher Wert. Wahr, wenn die gemeldete interne Größe des Drawables als Status konstant bleibt
Änderungen (die Größe ist das Maximum aller Staaten); falsch, wenn die Größe je nach
den aktuellen Status. Der Standardwert ist „false“.
- android:dither
- Boolescher Wert. „True“, um das Dithering der Bitmap zu ermöglichen, wenn die Bitmap nicht dasselbe Pixel hat
Konfiguration entsprechend dem Bildschirm, zum Beispiel eine ARGB-8888-Bitmap auf einem RGB-565-Bildschirm FALSCH für
Dithering deaktivieren. Der Standardwert ist „true“.
- android:variablePadding
- Boolescher Wert. "True", wenn sich der Abstand des Drawables basierend auf der aktuellen
ausgewählt haben. "false", wenn der Abstand basierend auf dem maximalen
das Padding aller Bundesstaaten. Für die Aktivierung dieser Funktion müssen Sie sich mit
Layout ausführen, wenn sich der Status ändert. Dies wird oft nicht unterstützt. Der Standardwert ist „false“.
 
- <item>
- Definiert ein Drawable für bestimmte Zustände, wie durch seine Attribute beschrieben. Muss ein
einem <selector>-Element untergeordnet ist.Attribute: 
        - android:drawable
- Drawable resource. Erforderlich. Verweis auf eine Drawable-Ressource.
- android:state_pressed
- Boolescher Wert. „True“, wenn dieses Element verwendet wird, wenn auf das Objekt getippt wird, beispielsweise wenn eine Schaltfläche
berührt wird; „false“, wenn dieses Element im Standardzustand ohne Antippen verwendet wird.
- android:state_focused
- Boolescher Wert. "True", wenn dieses Element verwendet wird, wenn das Objekt Eingabefokus hat,
z. B. wenn Nutzende eine Texteingabe auswählen; „false“, wenn dieses Element standardmäßig verwendet wird,
nicht fokussiert sein.
- android:state_hovered
- Boolescher Wert. "True", wenn dieses Element verwendet wird, wenn der Cursor auf das Objekt bewegt wird
false, wenn dieses Element im Standardzustand ohne Mausbewegung verwendet wird. Häufig
Drawable kann dasselbe Drawable sein, das für den Fokus "Focus" (Fokus) verwendet wird. Bundesstaat.
          Wurde in API-Level 14 eingeführt. 
- android:state_selected
- Boolescher Wert. „True“, wenn dieses Element verwendet wird, wenn das Objekt das aktuelle
Nutzerauswahl bei der Navigation mit einer Richtungskontrolle, z. B. beim Navigieren durch eine Liste
mit einem Steuerkreuz false, wenn dieses Element verwendet wird, wenn das Objekt nicht ausgewählt ist.
Der ausgewählte Status wird verwendet, wenn android:state_focusednicht ausreicht.
z. B. wenn der Fokus in der Listenansicht liegt und ein darin enthaltenes Element mit dem Steuerkreuz ausgewählt wird.
 
- android:state_checkable
- Boolescher Wert. True, wenn dieses Element verwendet wird, wenn das Objekt auswählbar ist; „false“, wenn dies
item wird verwendet, wenn das Objekt nicht auswählbar ist. Nur nützlich, wenn das Objekt
zwischen einem auswählbaren und einem nicht auswählbaren Widget.
- android:state_checked
- Boolescher Wert. True, wenn dieses Element bei der Auswahl des Objekts verwendet wird; false, wenn
wird verwendet, wenn das Objekt nicht ausgewählt ist.
- android:state_enabled
- Boolescher Wert. True, wenn dieses Element verwendet wird, wenn das Objekt aktiviert ist,
das heißt, in der Lage sind, Touch- oder Click-Events zu empfangen, false, wenn er verwendet wird, wenn das Objekt
deaktiviert.
- android:state_activated
- Boolescher Wert. True, wenn dieses Element verwendet wird, wenn das Objekt als aktiviert wird
die dauerhafte Auswahl, z. B. zum Hervorheben das zuvor ausgewählte Listenelement in einer persistenten
Navigationsansicht; false, wenn er verwendet wird, wenn das Objekt nicht aktiviert ist.
Wurde in API-Level 11 eingeführt. 
- android:state_window_focused
- Boolescher Wert. „True“, wenn dieses Element verwendet wird, wenn das App-Fenster im Fokus ist, d. h.
die Anwendung im Vordergrund ausgeführt wird, "false", wenn dieses Element bei der Anwendung verwendet wird
nicht fokussiert, z. B. wenn die Benachrichtigungsleiste nach unten gezogen oder ein Dialogfeld angezeigt wird.
 Hinweis:Android wendet das erste Element in der Bundesstaatenliste an, das
entspricht dem aktuellen Status des Objekts. Wenn also das erste Element in der Liste
keines der vorangehenden Statusattribute, wird es jedes Mal angewendet. Deshalb sollten Sie
immer der letzte Wert sein, wie im folgenden Beispiel gezeigt. 
 
- Beispiel:
- XML-Datei gespeichert unter res/drawable/button.xml:<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true"
          android:drawable="@drawable/button_pressed" /> <!-- pressed -->
    <item android:state_focused="true"
          android:drawable="@drawable/button_focused" /> <!-- focused -->
    <item android:state_hovered="true"
          android:drawable="@drawable/button_focused" /> <!-- hovered -->
    <item android:drawable="@drawable/button_normal" /> <!-- default -->
</selector>Diese Layout-XML wendet die Statusliste Drawable auf eine Schaltfläche an: <Button
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:background="@drawable/button" />
- Siehe auch:
- 
Stufenliste
Ein Drawable, das eine Reihe von alternativen Drawables verwaltet, denen jeweils ein maximales numerisches Limit zugewiesen ist
Wert. Wenn du den Levelwert des Drawables mit setLevel() festlegst, wird die Drawable-Ressource im
Ebenenliste mit einem android:maxLevel-Wert größer oder gleich dem Wert
an die Methode übergeben.
- Dateispeicherort:
- res/drawable/filename.xml
 Der Dateiname ist die Ressourcen-ID.
- Datentyp der kompilierten Ressource:
- Ressourcenzeiger auf ein LevelListDrawable
- Ressourcenreferenz:
- 
In Java: R.drawable.filename
 XML:@[package:]drawable/filename
- Syntax:
- 
<?xml version="1.0" encoding="utf-8"?>
<level-list
    xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:drawable="@drawable/drawable_resource"
        android:maxLevel="integer"
        android:minLevel="integer" />
</level-list>
- Elemente:
- 
  - <level-list>
- Erforderlich. Dies muss das Stammelement sein. Enthält ein oder mehrere <item>-Elemente.Attribute: 
      - xmlns:android
- String. Erforderlich. Definiert den XML-Namespace, der sein muss.
        "http://schemas.android.com/apk/res/android"
 
- <item>
- Definiert ein Drawable, das auf einer bestimmten Ebene verwendet werden soll.
    Attribute: 
      - android:drawable
- Drawable resource. Erforderlich. Verweis auf ein Drawable
Ressource, die eingefügt werden soll.
- android:maxLevel
- Ganzzahl. Die maximal zulässige Stufe für dieses Element.
- android:minLevel
- Ganzzahl. Die für diesen Artikel erforderliche Mindeststufe.
 
 
- Beispiel:
- 
<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:drawable="@drawable/status_off"
        android:maxLevel="0" />
    <item
        android:drawable="@drawable/status_on"
        android:maxLevel="1" />
</level-list>Sobald dies auf eine Viewangewendet wurde, kann die Ebene mitsetLevel()odersetImageLevel()geändert werden.
 
- Siehe auch:
- 
Übergangs-Drawable
Ein TransitionDrawable ist ein Drawable-Objekt.
die zwischen zwei anderen Drawable-Ressourcen überblenden kann.
Jedes Drawable wird durch ein <item>-Element innerhalb eines einzelnen <transition>-Elements dargestellt. Es werden maximal zwei Elemente unterstützt. Rufen Sie zum Weiterleiten
startTransition() Bis
rückwärts gehen, reverseTransition() aufrufen.
- Dateispeicherort:
- res/drawable/filename.xml
 Der Dateiname ist die Ressourcen-ID.
- Datentyp der kompilierten Ressource:
- Ressourcenzeiger auf ein TransitionDrawable
- Ressourcenreferenz:
- 
In Java: R.drawable.filename
 XML:@[package:]drawable/filename
- Syntax:
- 
<?xml version="1.0" encoding="utf-8"?>
<transition
xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:drawable="@[package:]drawable/drawable_resource"
        android:id="@[+][package:]id/resource_name"
        android:top="dimension"
        android:right="dimension"
        android:bottom="dimension"
        android:left="dimension" />
</transition>
- Elemente:
- 
  - <transition>
- Erforderlich. Dies muss das Stammelement sein. Enthält ein oder mehrere <item>-Elemente.Attribute: 
        - xmlns:android
- String. Erforderlich. Definiert den XML-Namespace, der sein muss.
          "http://schemas.android.com/apk/res/android"
 
- <item>
- Definiert ein Drawable, das als Teil des Drawable-Übergangs verwendet werden soll.
Muss einem <transition>-Element untergeordnet sein. Nimmt Kind<bitmap>an
Elemente.Attribute: 
        - android:drawable
- Drawable resource. Erforderlich. Verweis auf ein Drawable
.
- android:id
- Ressourcen-ID. Eine eindeutige Ressourcen-ID für dieses Drawable. So erstellen Sie eine neue Ressource:
ID für diesen Artikel, verwenden Sie das folgende Format:
"@+id/name"Das Pluszeichen zeigt an, dass dieser
ID. Mit dieser Kennung können Sie
das Drawable mitView.findViewById()oderActivity.findViewById()abrufen und ändern.
- android:top
- Ganzzahl. Der obere Offset in Pixeln.
- android:right
- Ganzzahl. Der rechte Versatz in Pixeln.
- android:bottom
- Ganzzahl. Der untere Offset in Pixeln.
- android:left
- Ganzzahl. Der linke Offset in Pixeln.
 
 
- Beispiel:
- XML-Datei gespeichert unter res/drawable/transition.xml:<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/on" />
    <item android:drawable="@drawable/off" />
</transition>Diese Layout-XML wendet das Drawable auf eine Ansicht an: <ImageButton
    android:id="@+id/button"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:src="@drawable/transition" />Mit dem folgenden Code erfolgt ein 500-ms-Übergang vom ersten zum zweiten Element: Kotlinval button: ImageButton = findViewById(R.id.button)
val drawable: Drawable = button.drawable
if (drawable is TransitionDrawable) {
    drawable.startTransition(500)
}JavaImageButton button = (ImageButton) findViewById(R.id.button);
Drawable drawable = button.getDrawable();
if (drawable instanceof TransitionDrawable) {
    ((TransitionDrawable) drawable).startTransition(500);
}
- Siehe auch:
- 
Eingefügtes Drawable
Ein in XML definiertes Drawable, das ein anderes Drawable um eine angegebene Entfernung einfügt. Hilfreich
wenn eine Ansicht einen Hintergrund benötigt, der kleiner als die tatsächlichen Grenzen der Ansicht ist.
- Dateispeicherort:
- res/drawable/filename.xml
 Der Dateiname ist die Ressourcen-ID.
- Datentyp der kompilierten Ressource:
- Ressourcenzeiger auf ein InsetDrawable
- Ressourcenreferenz:
- 
In Java: R.drawable.filename
 XML:@[package:]drawable/filename
- Syntax:
- 
<?xml version="1.0" encoding="utf-8"?>
<inset
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/drawable_resource"
    android:insetTop="dimension"
    android:insetRight="dimension"
    android:insetBottom="dimension"
    android:insetLeft="dimension" />
- Elemente:
- 
  - <inset>
- Erforderlich. Definiert das eingefügte Drawable. Dies muss das Stammelement sein.
    Attribute: 
      - xmlns:android
- String. Erforderlich. Definiert den XML-Namespace, der sein muss.
        "http://schemas.android.com/apk/res/android"
- android:drawable
- Drawable resource. Erforderlich. Verweis auf ein Drawable
Ressource, die eingefügt werden soll.
- android:insetTop
- Dimension. Oberer Einsatzbereich, als Dimensionswert oder Dimensionsressource
- android:insetRight
- Dimension. die rechte Einfügung als Dimensionswert oder Dimensionsressource
- android:insetBottom
- Dimension. Im unteren Bereich als Dimensionswert oder Dimensionsressource.
- android:insetLeft
- Dimension. Linker Einsatz als Dimensionswert oder Dimensionsressource.
 
 
- Beispiel:
- 
<?xml version="1.0" encoding="utf-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/background"
    android:insetTop="10dp"
    android:insetLeft="10dp" />
- Siehe auch:
- 
Clip-Drawable
Ein in XML definierter Drawable, mit dem ein anderes Drawable basierend auf der aktuellen Pegel dieses Drawable-Elements zugeschnitten wird. Ich
lässt sich auch steuern, wie weit das untergeordnete Drawable auf Grundlage des Levels an Breite und Höhe abgeschnitten wird.
als Schwerkraft, um zu steuern, wo es im Gesamtbehälter platziert wird. Am häufigsten zur Implementierung
zum Beispiel Fortschrittsbalken.
- Dateispeicherort:
- res/drawable/filename.xml
 Der Dateiname ist die Ressourcen-ID.
- Datentyp der kompilierten Ressource:
- Ressourcenzeiger auf ein ClipDrawable
- Ressourcenreferenz:
- 
In Java: R.drawable.filename
 XML:@[package:]drawable/filename
- Syntax:
- 
<?xml version="1.0" encoding="utf-8"?>
<clip
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/drawable_resource"
    android:clipOrientation=["horizontal" | "vertical"]
    android:gravity=["top" | "bottom" | "left" | "right" | "center_vertical" |
                     "fill_vertical" | "center_horizontal" | "fill_horizontal" |
                     "center" | "fill" | "clip_vertical" | "clip_horizontal"] />
- Elemente:
- 
  - <clip>
- Erforderlich. Definiert das Clip-Drawable. Dies muss das Stammelement sein.
    Attribute: 
      - xmlns:android
- String. Erforderlich. Definiert den XML-Namespace, der sein muss.
        "http://schemas.android.com/apk/res/android"
- android:drawable
- Drawable resource. Erforderlich. Verweis auf ein Drawable
zu kürzende Ressource.
- android:clipOrientation
- Keyword: Die Ausrichtung des Clips.
          Muss einer der folgenden konstanten Werte sein: 
| Wert | Beschreibung | 
|---|
 | horizontal | Klemme das Drawable horizontal an. |  | vertical | Befestige das Drawable senkrecht. |  
 
- android:gravity
- Keyword: Gibt an, wo innerhalb des Drawables abgeschnitten werden soll.
          Muss einer oder mehrere der folgenden konstanten Werte sein, die durch |getrennt sind:
 
| Wert | Beschreibung | 
|---|
 | top | Platzieren Sie das Objekt oben auf dem Container, ohne seine Größe zu ändern. Wenn clipOrientationden Wert"vertical"hat, erfolgt die Begrenzung unten im Drawable. |  | bottom | Platzieren Sie das Objekt unten in den Container, ohne seine Größe zu ändern. Wenn clipOrientationden Wert"vertical"hat, erfolgt das Abschneiden oben im Drawable. |  | left | Platzieren Sie das Objekt auf der linken Seite des Behälters, ohne seine Größe zu ändern. Dies ist die
Standardeinstellung. Wenn clipOrientationden Wert"horizontal"hat, erfolgt die Begrenzung auf der rechten Seite des
das Drawable. |  | right | Platzieren Sie das Objekt auf der rechten Seite des Containers, ohne seine Größe zu ändern. Wenn clipOrientationden Wert"horizontal"hat, erfolgt die Begrenzung auf der linken Seite des
das Drawable. |  | center_vertical | Platzieren Sie das Objekt in der vertikalen Mitte des Containers, ohne seine Größe zu ändern. Clipping
Dies ist identisch mit der Schwerkraft "center". |  | fill_vertical | Vergrößere das Objekt bei Bedarf vertikal, damit es den Behälter vollständig ausfüllt. Wenn clipOrientationden Wert"vertical"hat, erfolgt keine Begrenzung, da das Drawable das
vertikalen Abstand (es sei denn, die Drawable-Ebene ist 0; in diesem Fall ist sie nicht sichtbar). |  | center_horizontal | Platzieren Sie das Objekt in der horizontalen Mitte des Containers, ohne seine Größe zu ändern.
Das Clipping funktioniert genauso wie bei der Schwerkraft "center". |  | fill_horizontal | Vergrößere das Objekt bei Bedarf horizontal, damit es den Behälter vollständig ausfüllt. Wann? clipOrientationist"horizontal", es erfolgt keine Begrenzung, weil das Drawable das
horizontaler Abstand (es sei denn, die Drawable-Ebene ist 0; in diesem Fall ist sie nicht sichtbar). |  | center | Platzieren Sie das Objekt sowohl auf der vertikalen als auch auf der horizontalen Achse in der Mitte des Containers, nicht
indem Sie die Größe ändern. Wenn clipOrientationden Wert"horizontal"hat, erfolgt die Begrenzung links und rechts. WennclipOrientationden Wert"vertical"hat, erfolgt die Begrenzung oben und unten. |  | fill | Vergrößern Sie die horizontale und vertikale Größe des Objekts, damit es vollständig ausfüllt.
Container. Es erfolgt keine Begrenzung, da das Drawable
horizontalen und vertikalen Abstand (außer die Drawable-Ebene ist 0; in diesem Fall ist sie nicht
sichtbar). |  | clip_vertical | Zusätzliche Option, die festgelegt werden kann, dass der obere und/oder untere Rand des untergeordneten Elements
die Grenzen seines Containers aus. Der Clip basiert auf der vertikalen Schwerkraft:
wird die obere Kante durch eine untere Schwerkraft abgeschnitten, und keiner der beiden hält beide Kanten ab. |  | clip_horizontal | Zusätzliche Option, die festgelegt werden kann, dass der linke und/oder rechte Rand des untergeordneten Elements
die Grenzen seines Containers aus. Der Clip basiert auf der horizontalen Schwerkraft:
wird die rechte Kante durch die rechte Schwerkraft abgeschnitten. Beide Kanten werden durch keine der beiden Kanten abgeschnitten. |  
 
 
 
- Beispiel:
- XML-Datei gespeichert unter res/drawable/clip.xml:<?xml version="1.0" encoding="utf-8"?>
<clip xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/android"
    android:clipOrientation="horizontal"
    android:gravity="left" />Die folgende Layout-XML wendet das Clip-Drawable auf eine Ansicht an: <ImageView
    android:id="@+id/image"
    android:src="@drawable/clip"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content" />Mit dem folgenden Code wird das Drawable abgerufen und
das Bild nach und nach einblenden: Kotlinval imageview: ImageView = findViewById(R.id.image)
val drawable: Drawable = imageview.background
if (drawable is ClipDrawable) {
    drawable.level = drawable.level + 1000
}JavaImageView imageview = (ImageView) findViewById(R.id.image);
Drawable drawable = imageview.getBackground();
if (drawable instanceof ClipDrawable) {
    ((ClipDrawable)drawable).setLevel(drawable.getLevel() + 1000);
}
Wenn Sie den Pegel erhöhen, müssen weniger zugeschnitten werden und das Bild wird langsam sichtbar. Hier ist es
bei einem Wert von 7.000:   Hinweis:Die Standardebene ist 0, d. h., das Bild wird vollständig zugeschnitten.
nicht sichtbar ist. Bei einer Stufe von 10.000 wird das Bild nicht zugeschnitten und ist vollständig sichtbar. 
- Siehe auch:
- 
Skala-Drawable
Ein in XML definiertes Drawable, das die Größe eines anderen Drawable-Elements basierend auf seiner aktuellen
- Dateispeicherort:
- res/drawable/filename.xml
 Der Dateiname ist die Ressourcen-ID.
- Datentyp der kompilierten Ressource:
- Ressourcenzeiger auf ein ScaleDrawable
- Ressourcenreferenz:
- 
In Java: R.drawable.filename
 XML:@[package:]drawable/filename
- Syntax:
- 
<?xml version="1.0" encoding="utf-8"?>
<scale
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/drawable_resource"
    android:scaleGravity=["top" | "bottom" | "left" | "right" | "center_vertical" |
                          "fill_vertical" | "center_horizontal" | "fill_horizontal" |
                          "center" | "fill" | "clip_vertical" | "clip_horizontal"]
    android:scaleHeight="percentage"
    android:scaleWidth="percentage" />
- Elemente:
- 
  - <scale>
- Erforderlich. Definiert das Drawable für den Maßstab. Dies muss das Stammelement sein.
    Attribute: 
      - xmlns:android
- String. Erforderlich. Definiert den XML-Namespace, der sein muss.
        "http://schemas.android.com/apk/res/android"
- android:drawable
- Drawable resource. Erforderlich. Verweis auf ein Drawable
.
- android:scaleGravity
- Keyword: Gibt die Position der Schwerkraft nach der Skalierung an.
          Muss einer oder mehrere der folgenden konstanten Werte sein, die durch |getrennt sind:
 
| Wert | Beschreibung | 
|---|
 | top | Platzieren Sie das Objekt oben auf dem Container, ohne seine Größe zu ändern. |  | bottom | Platzieren Sie das Objekt unten in den Container, ohne seine Größe zu ändern. |  | left | Platzieren Sie das Objekt auf der linken Seite des Behälters, ohne seine Größe zu ändern. Dies ist die
Standardeinstellung. |  | right | Platzieren Sie das Objekt auf der rechten Seite des Containers, ohne seine Größe zu ändern. |  | center_vertical | Platzieren Sie das Objekt in der vertikalen Mitte des Containers, ohne seine Größe zu ändern. |  | fill_vertical | Vergrößere das Objekt bei Bedarf vertikal, damit es den Behälter vollständig ausfüllt. |  | center_horizontal | Platzieren Sie das Objekt in der horizontalen Mitte des Containers, ohne seine Größe zu ändern. |  | fill_horizontal | Vergrößere das Objekt bei Bedarf horizontal, damit es den Behälter vollständig ausfüllt. |  | center | Platzieren Sie das Objekt sowohl auf der vertikalen als auch auf der horizontalen Achse in der Mitte des Containers, nicht
indem Sie die Größe ändern. |  | fill | Vergrößern Sie die horizontale und vertikale Größe des Objekts, damit es vollständig ausfüllt.
Container. |  | clip_vertical | Zusätzliche Option, die festgelegt werden kann, dass der obere und/oder untere Rand des untergeordneten Elements
die Grenzen seines Containers aus. Der Clip basiert auf der vertikalen Schwerkraft:
wird die obere Kante durch eine untere Schwerkraft abgeschnitten, und keiner der beiden hält beide Kanten ab. |  | clip_horizontal | Zusätzliche Option, die festgelegt werden kann, dass der linke und/oder rechte Rand des untergeordneten Elements
die Grenzen seines Containers aus. Der Clip basiert auf der horizontalen Schwerkraft:
wird die rechte Kante durch die rechte Schwerkraft abgeschnitten. Beide Kanten werden durch keine der beiden Kanten abgeschnitten. |  
 
- android:scaleHeight
- Prozentsatz. Die Skalierungshöhe als Prozentsatz der Drawable-Werte
gebunden. Das Format des Werts ist XX%, z. B. 100% oder 12,5%.
- android:scaleWidth
- Prozentsatz. Die Skalierungsbreite als Prozentsatz der
gebunden. Das Format des Werts ist XX%, z. B. 100% oder 12,5%.
 
 
- Beispiel:
- 
<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/logo"
    android:scaleGravity="center_vertical|center_horizontal"
    android:scaleHeight="80%"
    android:scaleWidth="80%" />
- Siehe auch:
- 
Form-Drawable
Dies ist eine in XML definierte generische Form.
- Dateispeicherort:
- res/drawable/filename.xml
 Der Dateiname ist die Ressourcen-ID.
- Datentyp der kompilierten Ressource:
- Ressourcenzeiger auf ein GradientDrawable
- Ressourcenreferenz:
- 
In Java: R.drawable.filename
 XML:@[package:]drawable/filename
- Syntax:
- 
<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape=["rectangle" | "oval" | "line" | "ring"] >
    <corners
        android:radius="integer"
        android:topLeftRadius="integer"
        android:topRightRadius="integer"
        android:bottomLeftRadius="integer"
        android:bottomRightRadius="integer" />
    <gradient
        android:angle="integer"
        android:centerX="float"
        android:centerY="float"
        android:centerColor="integer"
        android:endColor="color"
        android:gradientRadius="integer"
        android:startColor="color"
        android:type=["linear" | "radial" | "sweep"]
        android:useLevel=["true" | "false"] />
    <padding
        android:left="integer"
        android:top="integer"
        android:right="integer"
        android:bottom="integer" />
    <size
        android:width="integer"
        android:height="integer" />
    <solid
        android:color="color" />
    <stroke
        android:width="integer"
        android:color="color"
        android:dashWidth="integer"
        android:dashGap="integer" />
</shape>
- Elemente:
- 
  - <shape>
- Erforderlich. Das Form-Drawable Dies muss das Stammelement sein.
      Attribute: 
        - xmlns:android
- String. Erforderlich. Definiert den XML-Namespace, der sein muss.
          "http://schemas.android.com/apk/res/android"
- android:shape
- Keyword: Definiert den Typ der Form. Gültige Werte sind folgende:
          
            | Wert | Beschreibung | 
|---|
 | "rectangle" | Ein Rechteck, das die enthaltende Ansicht ausfüllt. Dies ist die Standardform. |  | "oval" | Eine ovale Form, die den Abmessungen der enthaltenden Ansicht entspricht. |  | "line" | Eine horizontale Linie, die sich über die Breite der enthaltenden Ansicht erstreckt. Dieses
                Für die Form muss das <stroke>-Element die Breite der
                Zeile. |  | "ring" | Ein Ring. |  
 
 Die folgenden Attribute werden nur verwendet, wenn android:shape="ring":
 
        - android:innerRadius
- Dimension. Der Radius für die
inneren Teil des Rings (das Loch in der Mitte) als Dimensionswert oder als Dimensionsressource.
- android:innerRadiusRatio
- Gleitkommazahl. Der Radius für den inneren Wert
Teil des Rings, ausgedrückt als Verhältnis zur Breite des Rings. Bei android:innerRadiusRatio="5"entspricht der innere Radius der Breite des Rings geteilt durch 5. Dieses
-Wert wird durchandroid:innerRadiusüberschrieben. Der Standardwert ist 9.
- android:thickness
- Dimension. Die Dicke der
Ring, als Dimensionswert oder Dimensionsressource.
- android:thicknessRatio
- Gleitkommazahl. Die Dicke des Rings
ausgedrückt als Verhältnis
zur Ringbreite. Wenn zum Beispiel android:thicknessRatio="2", dann
Die Dicke entspricht der Breite des Rings geteilt durch 2. Dieser Wert wird vonandroid:innerRadiusüberschrieben. Der Standardwert ist 3.
- android:useLevel
- Boolescher Wert. „True“, wenn dies als
ein LevelListDrawable. Das ist normalerweise falsch,
          Andernfalls wird die Form möglicherweise nicht angezeigt.
 
- <corners>
- Erstellt abgerundete Ecken der Form Gilt nur, wenn es sich bei der Form um ein Rechteck handelt.
      Attribute: 
        - android:radius
- Dimension. Der Radius für alle Ecken als Dimensionswert oder Dimensionsressource. Dies wird für alle
durch die folgenden Attribute.
- android:topLeftRadius
- Dimension. Der Radius für die obere linke Ecke als Dimensionswert oder Dimensionsressource.
- android:topRightRadius
- Dimension. Der Radius für die obere rechte Ecke als Dimensionswert oder Dimensionsressource.
- android:bottomLeftRadius
- Dimension. Der Radius für die Ecke unten links als Dimensionswert oder Dimensionsressource.
- android:bottomRightRadius
- Dimension. Der Radius für die Ecke unten rechts als Dimensionswert oder Dimensionsressource.
 Hinweis:Jede Ecke muss anfangs mit einer Ecke versehen sein.
größer als 1 sein, da sonst keine Ecken abgerundet werden. Wenn Sie bestimmte Ecken
nicht abgerundet werden soll, können Sie das Problem umgehen, indem Sie mit android:radiuseine Standardecke festlegen.
größer als 1 und überschreiben Sie dann jede Ecke mit den Werten,
und geben Sie 0 ("0dp") an, wo keine abgerundeten Ecken wünschen.
 
- <gradient>
- Hiermit wird die Farbe des Farbverlaufs der Form festgelegt.
      Attribute: 
        - android:angle
- Ganzzahl. Der Winkel für den Farbverlauf in Grad. 0 bedeutet von links nach rechts, 90 ist
von unten nach oben. Er muss ein Vielfaches von 45 sein. Der Standardwert ist 0.
- android:centerX
- Gleitkommazahl. Die relative X-Position für die Mitte des Farbverlaufs (0–1,0).
- android:centerY
- Gleitkommazahl. Die relative Y-Position für die Mitte des Farbverlaufs (0–1,0).
- android:centerColor
- Farbe. Optionale Farbe, die zwischen den Start- und Endfarben steht,
Hexadezimalwert oder Farbressource
- android:endColor
- Farbe. Die Endfarbe als hexadezimal
Wert oder color resource.
- android:gradientRadius
- Gleitkommazahl. Der Radius des Farbverlaufs. Wird nur angewendet, wenn android:type="radial".
- android:startColor
- Farbe. Die Startfarbe als hexadezimal
Wert oder color resource.
- android:type
- Keyword: Die Art des Farbverlaufsmusters, das angewendet werden soll. Gültige Werte sind folgende:
          
            | Wert | Beschreibung | 
|---|
 | "linear" | Ein linearer Farbverlauf. Das ist die Standardeinstellung. |  | "radial" | Ein radialer Farbverlauf. Die Startfarbe ist die mittlere Farbe. |  | "sweep" | Eine geschwungene Linie mit Farbverlauf. |  
 
- android:useLevel
- Boolescher Wert. „True“, wenn dies als LevelListDrawableverwendet wird.
 
- <padding>
- Abstand, der auf das enthaltende Ansichtselement angewendet wird. Dadurch wird die Position der Ansicht angepasst.
und nicht die Form.
      Attribute: 
        - android:left
- Dimension. Abstand links als Dimensionswert oder Dimensionsressource.
- android:top
- Dimension. Abstand oben als Dimensionswert oder Dimensionsressource.
- android:right
- Dimension. Abstand rechts als Dimensionswert oder Dimensionsressource.
- android:bottom
- Dimension. Abstand unten als Dimensionswert oder Dimensionsressource.
 
- <size>
- Die Größe der Form.
      Attribute: 
        - android:height
- Dimension. Die Höhe der Form als Dimensionswert oder Dimensionsressource.
- android:width
- Dimension. Die Breite der Form als Dimensionswert oder als Dimensionsressource.
 Hinweis:Standardmäßig wird die Form an die Größe des Containers angepasst.
Proportion zu den hier definierten Abmessungen angezeigt werden. Wenn Sie die Form in einem ImageViewverwenden, können Sie die Skalierung einschränken, indem Sieandroid:scaleTypeauf"center"setzen.
 
- <solid>
- Eine Volltonfarbe zum Füllen der Form.
      Attribute: 
        - android:color
- Farbe. Farbe, die auf die Form angewendet werden soll, als hexadezimal
Wert oder color resource.
 
- <stroke>
- Eine Strichlinie für die Form.
      Attribute: 
        - android:width
- Dimension. Die Linienstärke als Dimensionswert oder Dimensionsressource.
- android:color
- Farbe. Die Farbe der Linie als
Hexadezimalwert oder Farbressource
- android:dashGap
- Dimension. Der Abstand zwischen den Strichen als Dimensionswert oder als Dimensionsressource. Nur gültig, wenn android:dashWidthfestgelegt ist.
- android:dashWidth
- Dimension. Die Größe jeder gestrichelten Linie als Dimensionswert oder Dimensionsressource. Nur gültig, wenn android:dashGapfestgelegt ist.
 
 
- Beispiel:
- XML-Datei gespeichert unter res/drawable/gradient_box.xml:<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:startColor="#FFFF0000"
        android:endColor="#80FF00FF"
        android:angle="45"/>
    <padding android:left="7dp"
        android:top="7dp"
        android:right="7dp"
        android:bottom="7dp" />
    <corners android:radius="8dp" />
</shape>Diese Layout-XML wendet das Drawable für die Form auf eine Ansicht an: <TextView
    android:background="@drawable/gradient_box"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content" />Dieser Anwendungscode ruft das Drawable für die Form ab und wendet es auf eine Ansicht an: Kotlinval shape: Drawable? = getDrawable(resources, R.drawable.gradient_box,getTheme())
val tv: TextView = findViewById(R.id.textview)
tv.background = shape
 JavaResources res = getResources();
Drawable shape = ResourcesCompat.getDrawable(res, R.drawable.gradient_box,getTheme());
TextView tv = (TextView)findViewById(R.id.textview);
tv.setBackground(shape);
 
- Siehe auch:
-