Auf dieser Seite werden die folgenden Ressourcentypen definiert, die Sie externalisieren können:
- Boolescher Wert
- XML-Ressource, die einen booleschen Wert enthält.
- Farbe
- XML-Ressource mit einem Farbwert (hexadezimal).
- Dimension
- XML-Ressource, die einen Dimensionswert (mit einer Maßeinheit) enthält.
- ID
- XML-Ressource, die eine eindeutige Kennzeichnung für Anwendungsressourcen und Komponenten.
- Ganzzahl
- XML-Ressource, die einen Ganzzahlwert enthält.
- Integer-Array
- XML-Ressource, die ein Array von Ganzzahlen bereitstellt.
- Typiertes Array
- XML-Ressource, die ein
TypedArray
bereitstellt, das Sie verwenden können für ein Array von Drawables).
Boolescher Wert
Ein in XML definierter boolescher Wert.
Hinweis:Ein boolescher Wert ist eine einfache Ressource, auf die verwiesen wird.
Verwenden Sie den im Attribut name
angegebenen Wert und nicht den Namen der XML-Datei. Als
Sie können boolesche Ressourcen mit anderen
einfachen Ressourcen in einer XML-Datei kombinieren,
unter einem <resources>
-Element.
- Dateispeicherort:
res/values/filename.xml
Der Dateiname ist beliebig. Dername
des<bool>
-Elements wird als Ressource verwendet ID.- Ressourcenreferenz:
-
In Java:
R.bool.bool_name
XML:@[package:]bool/bool_name
- Syntax:
-
<?xml version="1.0" encoding="utf-8"?> <resources> <bool name="bool_name" >[true | false]</bool> </resources>
- Elemente:
- Beispiel:
- XML-Datei gespeichert unter
res/values-small/bools.xml
:<?xml version="1.0" encoding="utf-8"?> <resources> <bool name="screen_small">true</bool> <bool name="adjust_view_bounds">true</bool> </resources>
Der folgende Anwendungscode ruft den booleschen Wert ab:
Kotlin
val screenIsSmall: Boolean =
resources
.getBoolean
(R.bool.screen_small)Java
Resources res =
getResources()
; boolean screenIsSmall = res.getBoolean
(R.bool.screen_small);In der folgenden Layout-XML wird der boolesche Wert für ein Attribut verwendet:
<ImageView android:layout_height="fill_parent" android:layout_width="fill_parent" android:src="@drawable/logo" android:adjustViewBounds="@bool/adjust_view_bounds" />
Farbe
Ein in XML definierter Farbwert.
Die Farbe wird mithilfe eines RGB-Werts und eines Alphakanals festgelegt. Sie können eine Farbressource verwenden
an jedem Ort, der einen hexadezimalen Farbwert akzeptiert. Sie können eine Farbressource auch verwenden, wenn ein
Drawable-Ressource wird in XML erwartet, z. B. android:drawable="@color/green"
.
Der Wert beginnt immer mit einem Rautezeichen (#), gefolgt vom Alpha-Rot-Grün-Blau-Informationen in einem der folgenden Formate:
- RGB
- ARGB
- RRGGBB
- #AARRGGBB
Hinweis:Eine Farbe ist eine einfache Ressource, auf die verwiesen wird.
Verwenden Sie den im Attribut name
angegebenen Wert und nicht den Namen der XML-Datei. Als
Sie können Farbressourcen mit anderen einfachen Ressourcen
in einer XML-Datei kombinieren.
unter einem <resources>
-Element.
- Dateispeicherort:
res/values/colors.xml
Der Dateiname ist beliebig. Dername
des<color>
-Elements wird als Ressourcen-ID.- Ressourcenreferenz:
-
In Java:
R.color.color_name
XML:@[package:]color/color_name
- Syntax:
-
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="color_name" >hex_color</color> </resources>
- Elemente:
- Beispiel:
- XML-Datei gespeichert unter
res/values/colors.xml
:<?xml version="1.0" encoding="utf-8"?> <resources> <color name="opaque_red">#f00</color> <color name="translucent_red">#80ff0000</color> </resources>
Mit dem folgenden Anwendungscode wird die Farbressource abgerufen:
Kotlin
val color: Int =
resources
.getColor
(R.color.opaque_red)Java
Resources res =
getResources()
; int color = res.getColor
(R.color.opaque_red);Die folgende Layout-XML wendet die Farbe auf ein Attribut an:
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="@color/translucent_red" android:text="Hello"/>
Dimension
Ein in XML definierter Dimensionswert. Eine Dimension durch eine Zahl gefolgt von einer Maßeinheit wie 10px, 2in oder 5sp angegeben wird. Die folgenden Maßeinheiten werden von Android unterstützt:
dp
- Dichte-unabhängige Pixel: eine abstrakte Einheit, die auf der physischen Dichte eines
Bildschirm. Diese Einheiten beziehen sich auf einen Bildschirm mit 160 dpi, bei dem 1 dp in etwa gleich ist.
auf 1 Pixel. Bei Bildschirmen mit höherer Punktdichte wird die Anzahl der zum Zeichnen von 1 dp verwendeten Pixel vertikal skaliert
um einen für die Bildschirm-DPI geeigneten Faktor.
Auf einem Bildschirm mit geringerer Dichte der für 1 dp verwendeten Pixel werden verkleinert. Das Verhältnis von dps zu Pixel ändert sich mit der Bildschirmdichte. aber nicht unbedingt im direkten Verhältnis. Eine Lösung ist die Verwendung von dp-Einheiten anstelle von px-Einheiten. , um die Größe der Ansicht in Ihrem Layout an die jeweilige Bildschirmdichte anzupassen. Sie sorgt für Einheitlichkeit der realen Größen Ihrer UI-Elemente auf verschiedenen Geräte.
sp
- Maßstabunabhängige Pixel: Dies entspricht der dp-Einheit, wird aber auch nach der Schriftart des Nutzers skaliert. Größeneinstellung. Es wird empfohlen, diesen Anzeigenblock beim Festlegen von Schriftgrößen zu verwenden, da er dann entsprechend angepasst wird. sowohl für die Bildschirmdichte als auch für die Präferenzen des Nutzers.
pt
- Punkte: je 1/72 Zoll je nach Bildschirmgröße bei einer Bildschirmdichte von 72 dpi.
px
- Pixel: entspricht den tatsächlichen Pixeln auf dem Bildschirm Wir raten davon ab, diese Einheit zu verwenden, kann die tatsächliche Darstellung je nach Gerät variieren. Verschiedene Geräte können eine unterschiedliche Pixelanzahl haben pro Zoll und möglicherweise mehr oder weniger Pixel insgesamt auf dem Bildschirm verfügbar sind.
mm
- Millimeter: basierend auf der physischen Größe des Bildschirms.
in
- Zoll: je nach der physischen Größe des Bildschirms.
Hinweis:Eine Dimension ist eine einfache Ressource, auf die verwiesen wird.
Verwenden Sie den im Attribut name
angegebenen Wert und nicht den Namen der XML-Datei. Als
Sie können Dimensionsressourcen mit anderen einfachen Ressourcen
in einer XML-Datei kombinieren.
unter einem <resources>
-Element.
- Dateispeicherort:
res/values/filename.xml
Der Dateiname ist beliebig. Dername
des<dimen>
-Elements wird als Ressourcen-ID.- Ressourcenreferenz:
-
In Java:
R.dimen.dimension_name
XML:@[package:]dimen/dimension_name
- Syntax:
-
<?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="dimension_name" >dimension</dimen> </resources>
- Elemente:
- Beispiel:
- XML-Datei gespeichert unter
res/values/dimens.xml
:<?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="textview_height">25dp</dimen> <dimen name="textview_width">150dp</dimen> <dimen name="ball_radius">30dp</dimen> <dimen name="font_size">16sp</dimen> </resources>
Mit dem folgenden Anwendungscode wird eine Dimension abgerufen:
Kotlin
val fontSize: Float =
resources
.getDimension
(R.dimen.font_size)Java
Resources res =
getResources()
; float fontSize = res.getDimension
(R.dimen.font_size);In der folgenden Layout-XML werden Dimensionen auf Attribute angewendet:
<TextView android:layout_height="@dimen/textview_height" android:layout_width="@dimen/textview_width" android:textSize="@dimen/font_size"/>
ID
Eine eindeutige Ressourcen-ID, die in XML definiert ist. Unter Verwendung des Namens, den Sie in der <item>
angeben
-Element ist, erstellen die Android-Entwicklertools eine eindeutige Ganzzahl in der R.java
-Klasse Ihres Projekts, die Sie als
Kennung für eine Anwendungsressource, z. B. View
in Ihrem UI-Layout,
oder eine eindeutige Ganzzahl zur Verwendung in Ihrem Anwendungscode, z. B. eine ID für ein Dialogfeld oder eine
Ergebniscode.
Hinweis: Eine ID ist eine einfache Ressource, auf die verwiesen wird.
Verwenden Sie den im Attribut name
angegebenen Wert und nicht den Namen der XML-Datei. Als
ID-Ressourcen mit anderen einfachen Ressourcen
in einer XML-Datei kombinieren,
unter einem <resources>
-Element. Außerdem verweist eine ID-Ressource nicht auf
ein tatsächliches Ressourcenelement: Dies ist eine eindeutige ID, die Sie an andere Ressourcen anhängen oder
als eindeutige Ganzzahl in Ihrer Anwendung.
- Dateispeicherort:
res/values/filename.xml
Der Dateiname ist beliebig.- Ressourcenreferenz:
-
In Java:
R.id.name
XML:@[package:]id/name
- Syntax:
-
<?xml version="1.0" encoding="utf-8"?> <resources> <item type="id" name="id_name" /> </resources>
- Elemente:
- Beispiel:
-
XML-Datei gespeichert unter
res/values/ids.xml
:<?xml version="1.0" encoding="utf-8"?> <resources> <item type="id" name="button_ok" /> <item type="id" name="dialog_exit" /> </resources>
Im folgenden Layout-Snippet wird die
"button_ok"
-ID für einButton
-Widget verwendet:<Button android:id="@id/button_ok" style="@style/button_style" />
Der
android:id
-Wert hier enthält nicht das Pluszeichen in der ID-Referenz. da die ID bereits vorhanden ist, wie im vorherigenids.xml
-Beispiel definiert. Wenn Sie eine ID einer XML-Ressource mithilfe des Pluszeichens im Formatandroid:id="@+id/name"
, Das bedeutet, dass die"name"
-ID noch nicht vorhanden ist und erstellt wird.Ein weiteres Beispiel: Im folgenden Code-Snippet wird die
"dialog_exit"
-ID als eindeutige Kennung verwendet. für ein Dialogfeld:Kotlin
showDialog
(R.id.dialog_exit)Java
showDialog
(R.id.dialog_exit);In derselben Anwendung wird die
"dialog_exit"
-ID beim Erstellen eines Dialogfelds verglichen:Kotlin
override fun
onCreateDialog
(id: Int): Dialog? { return when(id) { R.id.dialog_exit -> { ... } else -> { null } } }Java
protected Dialog
onCreateDialog
(int id) { Dialog dialog; switch(id) { case R.id.dialog_exit: ... break; default: dialog = null; } return dialog; }
Ganzzahl
Eine in XML definierte Ganzzahl.
Hinweis: Eine Ganzzahl ist eine einfache Ressource, auf die verwiesen wird.
Verwenden Sie den im Attribut name
angegebenen Wert und nicht den Namen der XML-Datei. Als
Sie können Ganzzahlen-Ressourcen mit anderen
einfachen Ressourcen in einer XML-Datei kombinieren.
unter einem <resources>
-Element.
- Dateispeicherort:
res/values/filename.xml
Der Dateiname ist beliebig. Dername
des<integer>
-Elements wird als Ressourcen-ID.- Ressourcenreferenz:
-
In Java:
R.integer.integer_name
XML:@[package:]integer/integer_name
- Syntax:
-
<?xml version="1.0" encoding="utf-8"?> <resources> <integer name="integer_name" >integer</integer> </resources>
- Elemente:
- Beispiel:
-
XML-Datei gespeichert unter
res/values/integers.xml
:<?xml version="1.0" encoding="utf-8"?> <resources> <integer name="max_speed">75</integer> <integer name="min_speed">5</integer> </resources>
Der folgende Anwendungscode ruft eine Ganzzahl ab:
Kotlin
val maxSpeed: Int =
resources
.getInteger
(R.integer.max_speed)Java
Resources res =
getResources()
; int maxSpeed = res.getInteger
(R.integer.max_speed);
Ganzzahlarray
Ein Array von Ganzzahlen, die in XML definiert sind.
Hinweis:Ein Ganzzahlarray ist eine einfache Ressource, auf die verwiesen wird.
Verwenden Sie den im Attribut name
angegebenen Wert und nicht den Namen der XML-Datei. Als
Sie können Integer-Array-Ressourcen
mit anderen einfachen Ressourcen in einer XML-Datei kombinieren,
unter einem <resources>
-Element.
- Dateispeicherort:
res/values/filename.xml
Der Dateiname ist beliebig. Dername
des<integer-array>
-Elements wird als Ressourcen-ID.- Datentyp der kompilierten Ressource:
- Ressourcenzeiger auf ein Array von Ganzzahlen.
- Ressourcenreferenz:
-
In Java:
R.array.integer_array_name
XML:@[package:]array/integer_array_name
- Syntax:
-
<?xml version="1.0" encoding="utf-8"?> <resources> <integer-array name="integer_array_name"> <item >integer</item> </integer-array> </resources>
- Elemente:
- Beispiel:
- XML-Datei gespeichert unter
res/values/integers.xml
:<?xml version="1.0" encoding="utf-8"?> <resources> <integer-array name="bits"> <item>4</item> <item>8</item> <item>16</item> <item>32</item> </integer-array> </resources>
Der folgende Anwendungscode ruft das Ganzzahlarray ab:
Kotlin
val bits: IntArray =
resources
.getIntArray
(R.array.bits)Java
Resources res =
getResources()
; int[] bits = res.getIntArray
(R.array.bits);
Eingegebenes Array
Ein in XML definierter TypedArray
. Sie können
um ein Array mit anderen Ressourcen
wie Drawables zu erstellen. Das Array muss nicht homogen sein, Sie können also ein Array mit gemischten Ressourcentypen erstellen, aber
wissen, was und wo sich die Datentypen im Array befinden, damit Sie
jedes Element mit den get...()
-Methoden der Klasse TypedArray
.
Hinweis:Ein typisiertes Array ist eine einfache Ressource, auf die verwiesen wird.
Verwenden Sie den im Attribut name
angegebenen Wert und nicht den Namen der XML-Datei. Als
Sie können typisierte Array-Ressourcen mit anderen einfachen Ressourcen
in einer XML-Datei kombinieren.
unter einem <resources>
-Element.
- Dateispeicherort:
res/values/filename.xml
Der Dateiname ist beliebig. Dername
des<array>
-Elements wird als Ressourcen-ID.- Datentyp der kompilierten Ressource:
- Ressourcenzeiger auf eine
TypedArray
. - Ressourcenreferenz:
-
In Java:
R.array.array_name
XML:@[package:]array/array_name
- Syntax:
-
<?xml version="1.0" encoding="utf-8"?> <resources> <array name="integer_array_name"> <item>resource</item> </array> </resources>
- Elemente:
- Beispiel:
- XML-Datei gespeichert unter
res/values/arrays.xml
:<?xml version="1.0" encoding="utf-8"?> <resources> <array name="icons"> <item>@drawable/home</item> <item>@drawable/settings</item> <item>@drawable/logout</item> </array> <array name="colors"> <item>#FFFF0000</item> <item>#FF00FF00</item> <item>#FF0000FF</item> </array> </resources>
Der folgende Anwendungscode ruft jedes Array ab und ruft dann den ersten Eintrag in jedem Array ab:
Kotlin
val icons: TypedArray =
resources
.obtainTypedArray
(R.array.icons) val drawable: Drawable = icons.getDrawable
(0) val colors: TypedArray =resources
.obtainTypedArray
(R.array.colors) val color: Int = colors.getColor
(0,0)Java
Resources res =
getResources()
; TypedArray icons = res.obtainTypedArray
(R.array.icons); Drawable drawable = icons.getDrawable
(0); TypedArray colors = res.obtainTypedArray
(R.array.colors); int color = colors.getColor
(0,0);