Na tej stronie znajdują się następujące typy zasobów, które można udostępnić na zewnątrz:
- Wartość logiczna
- Zasób XML z wartością logiczną.
- Kolor
- Zasób XML z wartością koloru (kolorem szesnastkowym).
- Wymiar
- Zasób XML, który zawiera wartość wymiaru (z jednostką miary).
- ID
- Zasób XML, który zapewnia unikalny identyfikator zasobów aplikacji oraz
- Liczba całkowita
- Zasób XML z wartością całkowitą.
- Tablica całkowita
- Zasób XML zawierający tablicę liczb całkowitych.
- Tablica z typem
- Zasób XML udostępniający plik TypedArray(który możesz użyć dla tablicy elementów, które można narysować.
Wartość logiczna
Wartość logiczna zdefiniowana w pliku XML.
Uwaga: wartość logiczna to prosty zasób, do którego się odwołuje się
używając wartości podanej w atrybucie name, a nie nazwy pliku XML. Jako
więc możesz połączyć zasoby logiczne z innymi prostymi zasobami w jednym pliku XML,
w ramach jednego elementu <resources>.
- lokalizacja pliku:
- )
Nazwa pliku jest dowolna. Jako zasób elementu <bool>używany jest atrybutnameID.
- odniesienie do zasobu:
- 
W języku Java: R.bool.bool_name
 W pliku XML:@[package:]bool/bool_name
- składnia:
- 
<?xml version="1.0" encoding="utf-8"?> <resources> <bool name="bool_name" >[true | false]</bool> </resources> 
- elementy:
- przykład:
- Plik XML zapisany o 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> Ten kod aplikacji pobiera wartość logiczną: Kotlinval screenIsSmall: Boolean = resources.getBoolean(R.bool.screen_small)JavaResources res = getResources(); boolean screenIsSmall = res.getBoolean(R.bool.screen_small);W poniższym kodzie XML szablonu użyto wartości logicznej dla atrybutu: <ImageView android:layout_height="fill_parent" android:layout_width="fill_parent" android:src="@drawable/logo" android:adjustViewBounds="@bool/adjust_view_bounds" /> 
res/values/filename.xml(Kolor
Wartość koloru zdefiniowana w pliku XML.
Kolor jest określany przy użyciu wartości RGB i kanału alfa. Możesz użyć zasobu koloru,
w dowolnym miejscu, w którym można podać szesnastkową wartość koloru. Możesz też użyć zasobu koloru, gdy
W pliku XML oczekiwany jest zasób rysowalny, np. android:drawable="@color/green".
Wartość zawsze zaczyna się od znaku krzyżyka (#), po którym następuje znak Informacje w kolorach alfa-czerwonym, zielonym i niebieskim w jednym z tych formatów:
- #RGB
- #ARGB
- #RRGGBB
- Numer AARRGGBB
Uwaga: kolor to prosty zasób, do którego się odwołuje.
używając wartości podanej w atrybucie name, a nie nazwy pliku XML. Jako
więc możesz połączyć zasoby kolorów z innymi prostymi zasobami w jednym pliku XML,
w ramach jednego elementu <resources>.
- lokalizacja pliku:
- )
Nazwa pliku jest dowolna. Atrybut nameelementu<color>jest używany jako identyfikatora zasobu.
- odniesienie do zasobu:
- 
W języku Java: R.color.color_name
 W pliku XML:@[package:]color/color_name
- składnia:
- 
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="color_name" >hex_color</color> </resources> 
- elementy:
- przykład:
- Plik XML zapisany o 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> Ten kod aplikacji pobiera zasób koloru: Kotlinval color: Int = resources.getColor(R.color.opaque_red)JavaResources res = getResources(); int color = res.getColor(R.color.opaque_red);Poniższy kod XML układu stosuje kolor do atrybutu: <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="@color/translucent_red" android:text="Hello"/> 
res/values/colors.xml(Wymiar
Wartość wymiaru zdefiniowana w pliku XML. Wymiar jest określony liczbą, po której następuje jednostka miary, np. 10 pikseli, 2 cale lub 5 sp. Android obsługuje następujące jednostki miary:
- dp
- Piksele niezależne od gęstości: abstrakcyjna jednostka oparta na gęstości fizycznej
ekranu. Jednostki te są podawane w odniesieniu do ekranu o rozdzielczości 160 dpi (punktów na cal), gdzie 1 dp jest równy mniej więcej taki sam.
do 1 piksela. Podczas wyświetlania reklamy na ekranie o większej gęstości liczba pikseli używanych do rysowania o 1 dp jest skalowana w górę.
przez współczynnik odpowiedni do rozdzielczości ekranu.
Na ekranie o mniejszej gęstości dane pikseli używanych na 1 dp zostanie pomniejszony. Stosunek dps do pikseli zmienia się wraz z gęstością ekranu, ale niekoniecznie w bezpośrednich proporcjach. Rozwiązaniem jest użycie jednostek dp zamiast jednostek px. , by dostosować rozmiar widoku do różnych gęstości ekranu. Zapewnia spójność rzeczywistych rozmiarów elementów interfejsu w różnych urządzenia. 
- sp
- Piksele niezależne od skali – przypominają jednostkę dp, ale są skalowane według czcionki użytkownika. ustawienia rozmiaru. Przy określaniu rozmiarów czcionek zalecamy korzystanie z tej jednostki, ponieważ zostaną one dopasowane ze względu na gęstość ekranu i preferencje użytkownika.
- pt
- Punkty: 1/72 cala w zależności od fizycznego rozmiaru ekranu, Zakładając, że ekran ma gęstość 72 dpi.
- px
- Piksele: odpowiadają rzeczywistym pikselom na ekranie. Nie zalecamy korzystania z tej jednostki, ponieważ rzeczywista reprezentacja może się różnić w zależności od urządzenia. Różne urządzenia mogą mieć różną liczbę pikseli na cal, przy czym łączna liczba pikseli widocznych na ekranie może być większa lub mniejsza.
- mm
- Milimetry: w zależności od fizycznego rozmiaru ekranu.
- in
- Cale: na podstawie fizycznego rozmiaru ekranu.
Uwaga: wymiar to prosty zasób, do którego się odwołuje.
używając wartości podanej w atrybucie name, a nie nazwy pliku XML. Jako
więc możesz połączyć zasoby wymiarów z innymi prostymi zasobami w jednym pliku XML,
w ramach jednego elementu <resources>.
- lokalizacja pliku:
- )
Nazwa pliku jest dowolna. Atrybut nameelementu<dimen>jest używany jako identyfikatora zasobu.
- odniesienie do zasobu:
- 
W języku Java: R.dimen.dimension_name
 W pliku XML:@[package:]dimen/dimension_name
- składnia:
- 
<?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="dimension_name" >dimension</dimen> </resources> 
- elementy:
- przykład:
- Plik XML zapisany o 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> Ten kod aplikacji pobiera wymiar: Kotlinval fontSize: Float = resources.getDimension(R.dimen.font_size)JavaResources res = getResources(); float fontSize = res.getDimension(R.dimen.font_size);Ten układ XML układu stosuje wymiary do atrybutów: <TextView android:layout_height="@dimen/textview_height" android:layout_width="@dimen/textview_width" android:textSize="@dimen/font_size"/> 
res/values/filename.xml(ID
Unikalny identyfikator zasobu zdefiniowany w kodzie XML. używając imienia i nazwiska podanego w dokumencie <item>.
narzędzia dla programistów aplikacji na Androida utworzą w klasie R.java Twojego projektu unikalną liczbę całkowitą, której możesz użyć jako
identyfikator zasobów aplikacji, takich jak View w układzie interfejsu użytkownika,
lub unikalna liczba całkowita do użytku w kodzie aplikacji, np. identyfikator okna
kodu wyniku.
Uwaga: identyfikator to prosty zasób, do którego się odwołuje.
używając wartości podanej w atrybucie name, a nie nazwy pliku XML. Jako
więc możesz połączyć zasoby identyfikatorów z innymi prostymi zasobami w jednym pliku XML,
w ramach jednego elementu <resources>. Zasób identyfikatora nie odnosi się też do
rzeczywisty element zasobu: unikalny identyfikator, który można dołączyć do innych zasobów lub użyć
jako unikalną liczbę całkowitą w aplikacji.
- lokalizacja pliku:
- ) Nazwa pliku jest dowolna.
- odniesienie do zasobu:
- 
W języku Java: R.id.name
 W pliku XML:@[package:]id/name
- składnia:
- 
<?xml version="1.0" encoding="utf-8"?> <resources> <item type="id" name="id_name" /> </resources> 
- elementy:
- przykład:
- 
  Plik XML zapisany w lokalizacji 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> Ten fragment kodu układu używa identyfikatora "button_ok"widżetuButton:<Button android:id="@id/button_ok" style="@style/button_style" /> Wartość android:idnie zawiera znaku plusa w identyfikatorze, bo identyfikator już istnieje, jak określono w poprzednim przykładzieids.xml. Jeśli podasz Identyfikator zasobu XML za pomocą znaku plusa w formacieandroid:id="@+id/name", co oznacza, że identyfikator"name"jeszcze nie istnieje, ale został utworzony.Inny przykład: ten fragment kodu wykorzystuje identyfikator "dialog_exit"jako unikalny identyfikator: dla okna dialogowego:KotlinshowDialog(R.id.dialog_exit)JavashowDialog(R.id.dialog_exit);W tej samej aplikacji identyfikator "dialog_exit"jest porównywany podczas tworzenia okna:Kotlinoverride fun onCreateDialog(id: Int): Dialog? { return when(id) { R.id.dialog_exit -> { ... } else -> { null } } }Javaprotected Dialog onCreateDialog(int id) { Dialog dialog; switch(id) { case R.id.dialog_exit: ... break; default: dialog = null; } return dialog; }
res/values/filename.xml(Liczba całkowita
Liczba całkowita zdefiniowana w pliku XML.
Uwaga: liczba całkowita to prosty zasób, do którego się odwołuje
używając wartości podanej w atrybucie name, a nie nazwy pliku XML. Jako
więc możesz połączyć zasoby w postaci liczb całkowitych z innymi prostymi zasobami w jednym pliku XML,
w ramach jednego elementu <resources>.
- lokalizacja pliku:
- )
Nazwa pliku jest dowolna. Atrybut nameelementu<integer>jest używany jako identyfikatora zasobu.
- odniesienie do zasobu:
- 
W języku Java: R.integer.integer_name
 W pliku XML:@[package:]integer/integer_name
- składnia:
- 
<?xml version="1.0" encoding="utf-8"?> <resources> <integer name="integer_name" >integer</integer> </resources> 
- elementy:
- przykład:
- 
  Plik XML zapisany w lokalizacji 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> Ten kod aplikacji pobiera liczbę całkowitą: Kotlinval maxSpeed: Int = resources.getInteger(R.integer.max_speed)JavaResources res = getResources(); int maxSpeed = res.getInteger(R.integer.max_speed);
res/values/filename.xml(Tablica całkowita
Tablica liczb całkowitych zdefiniowana w pliku XML.
Uwaga: tablica z liczbami całkowitymi to prosty zasób, do którego odwołuje się
używając wartości podanej w atrybucie name, a nie nazwy pliku XML. Jako
więc możesz połączyć zasoby tablicy z liczbami całkowitymi z innymi prostymi zasobami w jednym pliku XML
w ramach jednego elementu <resources>.
- lokalizacja pliku:
- )
Nazwa pliku jest dowolna. Atrybut nameelementu<integer-array>jest używany jako identyfikatora zasobu.
- skompilowany typ danych zasobu:
- Wskaźnik zasobu do tablicy liczb całkowitych.
- odniesienie do zasobu:
- 
W języku Java: R.array.integer_array_name
 W pliku XML:@[package:]array/integer_array_name
- składnia:
- 
<?xml version="1.0" encoding="utf-8"?> <resources> <integer-array name="integer_array_name"> <item >integer</item> </integer-array> </resources> 
- elementy:
- przykład:
- Plik XML zapisany o 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> Ten kod aplikacji pobiera tablicę całkowitą: Kotlinval bits: IntArray = resources.getIntArray(R.array.bits)JavaResources res = getResources(); int[] bits = res.getIntArray(R.array.bits);
res/values/filename.xml(Tablica z typem
Pole TypedArray zdefiniowane w pliku XML. Za pomocą
w celu utworzenia tablicy innych zasobów, na przykład obiektów rysowania. Tablica nie musi być jednorodna, więc możesz utworzyć tablicę mieszanych typów zasobów, ale
wiedzieć, jakie typy danych znajdują się w tablicy i gdzie się znajdują, aby prawidłowo uzyskać
każdy element z metodami get...() klasy TypedArray.
Uwaga: tablica o określonym typie jest prostym zasobem, do którego się odwołuje
używając wartości podanej w atrybucie name, a nie nazwy pliku XML. Jako
więc możesz połączyć zasoby tablicy o określonym typie z innymi prostymi zasobami w jednym pliku XML,
w ramach jednego elementu <resources>.
- lokalizacja pliku:
- )
Nazwa pliku jest dowolna. Atrybut nameelementu<array>jest używany jako identyfikatora zasobu.
- skompilowany typ danych zasobu:
- Wskaźnik zasobu do elementu TypedArray.
- odniesienie do zasobu:
- 
W języku Java: R.array.array_name
 W pliku XML:@[package:]array/array_name
- składnia:
- 
<?xml version="1.0" encoding="utf-8"?> <resources> <array name="integer_array_name"> <item>resource</item> </array> </resources> 
- elementy:
- przykład:
- Plik XML zapisany o 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> Następujący kod aplikacji pobiera każdą tablicę, a następnie uzyskuje pierwszy wpis w każdej z nich: Kotlinval 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)JavaResources 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);
res/values/filename.xml(