Android復(fù)習(xí)(二)應(yīng)用資源——>更多類型-創(chuàng)新互聯(lián)

更多資源類型

本頁(yè)面定義了更多類型的可具體化的資源,包括:Android復(fù)習(xí)(二)應(yīng)用資源
——>更多類型
Bool
帶有布爾值的 XML 資源。
顏色
帶有顏色值(十六進(jìn)制顏色)的 XML 資源。
尺寸
帶有尺寸值(包含度量單位)的 XML 資源。
ID
提供應(yīng)用資源和組件的唯一標(biāo)識(shí)符的 XML 資源。
整數(shù)
帶有整數(shù)值的 XML 資源。
整數(shù)數(shù)組
提供整數(shù)數(shù)組的 XML 資源。
類型化數(shù)組
提供 TypedArray(可用于可繪制對(duì)象數(shù)組)的 XML 資源。

Bool

在 XML 中定義的布爾值。

成都創(chuàng)新互聯(lián)公司于2013年開(kāi)始,先為富縣等服務(wù)建站,富縣等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為富縣企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

注意:Bool 是使用 name 屬性中提供的值(而不是 XML 文件的名稱)引用的簡(jiǎn)單資源。因此,您可以在一個(gè) XML 文件中將 bool 資源與其他簡(jiǎn)單資源合并到一個(gè) <resources> 元素下。

文件位置:
res/values/filename.xml
文件名可以任意設(shè)置。<bool> 元素的 name 將用作資源 ID。
資源引用:
在 Java 中:R.bool.bool_name
在 XML 中:@[package:]bool/bool_name
語(yǔ)法:
<?xml version="1.0" encoding="utf-8"?> <resources> <bool name="bool_name" >[true | false]</bool> </resources>
 
元素:
<resources>
必需。該元素必須是根節(jié)點(diǎn)。

沒(méi)有屬性。

<bool>
布爾值:true 或 false。

屬性:

name
字符串。Bool 值的名稱。該名稱將用作資源 ID。
示例:
保存在 res/values-small/bools.xml 的 XML 文件:<?xml version="1.0" encoding="utf-8"?> <resources> <bool name="screen_small">true</bool> <bool name="adjust_view_bounds">true</bool> </resources>
 

以下應(yīng)用代碼會(huì)檢索布爾值:

java代碼: Resources res = getResources(); boolean screenIsSmall = res.getBoolean(R.bool.screen_small); kotlin代碼: val screenIsSmall: Boolean = resources.getBoolean(R.bool.screen_small)  

以下布局 XML 會(huì)將該布爾值應(yīng)用到屬性:

<ImageView android:layout_height="fill_parent" android:layout_width="fill_parent" android:src="@drawable/logo" android:adjustViewBounds="@bool/adjust_view_bounds" />

顏色

在 XML 中定義的顏色值。顏色使用 RGB 值和 alpha 通道指定。您可以在接受十六進(jìn)制顏色值的任何地方使用顏色資源。當(dāng) XML 中需要可繪制資源時(shí),您也可以使用顏色資源(例如,android:drawable="@color/green")。

該值始終以井號(hào) (#) 字符開(kāi)頭,后跟以下某種格式的“透明度、紅、綠、藍(lán)”(Alpha-Red-Green-Blue) 信息:

  • #RGB
  • #ARGB
  • #RRGGBB
  • #AARRGGBB

注意:顏色是使用 name 屬性中提供的值(而不是 XML 文件的名稱)引用的簡(jiǎn)單資源。因此,您可以在一個(gè) XML 文件中將顏色資源與其他簡(jiǎn)單資源合并到一個(gè) <resources> 元素下。

文件位置:
res/values/colors.xml
該文件名可以任意設(shè)置。<color> 元素的 name 將用作資源 ID。
資源引用:
在 Java 中:R.color.color_name
在 XML 中:@[package:]color/color_name
語(yǔ)法:
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="color_name" >hex_color</color> </resources>  
元素:
<resources>
必需。該元素必須是根節(jié)點(diǎn)。

沒(méi)有屬性。

<color>
以十六進(jìn)制表示的顏色,如上所述。

屬性:

name
字符串。顏色的名稱。該名稱將用作資源 ID。
示例:
保存在 res/values/colors.xml 的 XML 文件: <?xml version="1.0" encoding="utf-8"?> <resources> <color name="opaque_red">#f00</color> <color name="translucent_red">#80ff0000</color> </resources>  

以下應(yīng)用代碼會(huì)檢索顏色資源:

java代碼: Resources res = getResources(); int color = res.getColor(R.color.opaque_red); kotlin代碼: val color: Int = resources.getColor(R.color.opaque_red)  

以下布局 XML 會(huì)將該顏色應(yīng)用到屬性:

<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="@color/translucent_red" android:text="Hello"/>
 

尺寸

在 XML 中定義的尺寸值。尺寸由數(shù)字后跟度量單位來(lái)指定。例如:10px、2in、5sp。Android 支持以下度量單位:

dp
密度無(wú)關(guān)像素 - 基于屏幕物理密度的抽象單位。這些單位相對(duì)于 160 dpi(每英寸點(diǎn)數(shù))屏幕確立,在該屏幕上 1dp 大致等于 1px。在更高密度的屏幕上運(yùn)行時(shí),用于繪制 1dp 的像素?cái)?shù)量會(huì)根據(jù)屏幕 dpi 按照適當(dāng)?shù)南禂?shù)增加。同樣,在更低密度的屏幕上,用于繪制 1dp 的像素?cái)?shù)量會(huì)相應(yīng)減少。dp 對(duì)像素的比率會(huì)隨著屏幕密度的變化而變化,但不一定成正比。要使布局中的視圖尺寸根據(jù)不同的屏幕密度正確調(diào)整大小,一種簡(jiǎn)單的解決辦法就是使用 dp 單位(而不是 px 單位)。換句話說(shuō),它可在不同設(shè)備上提供一致的界面元素大小。
sp
縮放無(wú)關(guān)像素 - 這和 dp 單位類似,但它也會(huì)根據(jù)用戶的字體大小偏好設(shè)置進(jìn)行縮放。建議您在指定字體大小時(shí)使用此單位,以便字體大小會(huì)根據(jù)屏幕密度和用戶偏好設(shè)置進(jìn)行調(diào)整。
pt
點(diǎn) - 1/72 英寸,基于屏幕的物理尺寸,假設(shè)屏幕密度為 72dpi。
px
像素 - 對(duì)應(yīng)于屏幕上的實(shí)際像素?cái)?shù)。建議不要使用這種度量單位,因?yàn)椴煌O(shè)備的實(shí)際呈現(xiàn)效果可能不同;每臺(tái)設(shè)備的每英寸像素?cái)?shù)可能不同,屏幕上的總像素?cái)?shù)也可能有差異。
mm
毫米 - 基于屏幕的物理尺寸。
in
英寸 - 基于屏幕的物理尺寸。

注意:尺寸是使用 name 屬性中提供的值(而不是 XML 文件的名稱)引用的簡(jiǎn)單資源。因此,您可以在一個(gè) XML 文件中將尺寸資源與其他簡(jiǎn)單資源合并到一個(gè) <resources> 元素下。

文件位置:
res/values/filename.xml
該文件名可以任意設(shè)置。<dimen> 元素的 name 將用作資源 ID。
資源引用:
在 Java 中:R.dimen.dimension_name
在 XML 中:@[package:]dimen/dimension_name
語(yǔ)法:
<?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="dimension_name" >dimension</dimen> </resources>
 
元素:
<resources>
必需。該元素必須是根節(jié)點(diǎn)。

沒(méi)有屬性。

<dimen>
定義一個(gè)尺寸,由浮點(diǎn)數(shù)后跟度量單位(dp、sp、pt、px、mm、in)表示,如上所述。

屬性:

name
字符串。尺寸的名稱。該名稱將用作資源 ID。
示例:
保存在 res/values/dimens.xml 的 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>
 

以下應(yīng)用代碼會(huì)檢索尺寸:

java代碼: Resources res = getResources(); float fontSize = res.getDimension(R.dimen.font_size); kotlin代碼: val fontSize: Float = resources.getDimension(R.dimen.font_size)  

以下布局 XML 會(huì)將尺寸應(yīng)用到屬性:

<TextView android:layout_height="@dimen/textview_height" android:layout_width="@dimen/textview_width" android:textSize="@dimen/font_size"/>  

ID

在 XML 中定義的唯一資源 ID。Android 開(kāi)發(fā)者工具可使用您在 <item> 元素中提供的名稱,在您項(xiàng)目的 R.java 類中創(chuàng)建唯一的整數(shù),供您用作應(yīng)用資源(例如,界面布局中的 View)的標(biāo)識(shí)符,或創(chuàng)建唯一的整數(shù),供您在應(yīng)用代碼中使用(例如,作為對(duì)話框的 ID 或結(jié)果代碼)。

注意:ID 是使用 name 屬性中提供的值(而不是 XML 文件的名稱)引用的簡(jiǎn)單資源。因此,您可以在一個(gè) XML 文件中將 ID 資源與其他簡(jiǎn)單資源合并到一個(gè) <resources> 元素下。另外請(qǐng)注意,ID 資源并不引用實(shí)際的資源項(xiàng);它只是一個(gè)唯一 ID,您可以將其附加到其他資源,或者在應(yīng)用中作為唯一整數(shù)使用。

文件位置:
res/values/filename.xml
該文件名可以任意設(shè)置。
資源引用:
在 Java 中:R.id.name
在 XML 中:@[package:]id/name
語(yǔ)法:
<?xml version="1.0" encoding="utf-8"?> <resources> <item type="id" name="id_name" /> </resources>
 
元素:
<resources>
必需。該元素必須是根節(jié)點(diǎn)。

沒(méi)有屬性。

<item>
定義唯一 ID。不設(shè)置值,只有屬性。

屬性:

type
必須為“id”。
name
字符串。ID 的唯一名稱。
示例:

保存在 res/values/ids.xml 的 XML 文件:

<?xml version="1.0" encoding="utf-8"?> <resources> <item type="id" name="button_ok" /> <item type="id" name="dialog_exit" /> </resources>
 

然后,以下布局代碼段會(huì)將“button_ok”ID 應(yīng)用到按鈕微件:

<Button android:id="@id/button_ok" style="@style/button_style" />
 

請(qǐng)注意,android:id 值不會(huì)在 ID 引用中包含加號(hào),因?yàn)榇?ID 已存在,如上面的 ids.xml 示例中所定義。(如果使用加號(hào)以 android:id="@+id/name" 格式指定 XML 資源的 ID,則表示“name”ID 不存在,應(yīng)該創(chuàng)建它。)

再比如,以下代碼段使用“dialog_exit”ID 作為對(duì)話框的唯一標(biāo)識(shí)符:

showDialog(R.id.dialog_exit)
 

在同一應(yīng)用中,在創(chuàng)建對(duì)話框時(shí)會(huì)比較“dialog_exit”ID:

java代碼: protected Dialog onCreateDialog(int id) { Dialog dialog; switch(id) { case R.id.dialog_exit: ... break; default: dialog = null; } return dialog; } kotlin代碼: override fun onCreateDialog(id: Int): Dialog? { return when(id) { R.id.dialog_exit -> { ... } else -> { null } } }
 

整數(shù)

在 XML 中定義的整數(shù)。

注意:整數(shù)是使用 name 屬性中提供的值(而不是 XML 文件的名稱)引用的簡(jiǎn)單資源。因此,您可以在一個(gè) XML 文件中將整數(shù)資源與其他簡(jiǎn)單資源合并到一個(gè) <resources> 元素下。

文件位置:
res/values/filename.xml
該文件名可以任意設(shè)置。<integer> 元素的 name 將用作資源 ID。
資源引用:
在 Java 中:R.integer.integer_name
在 XML 中:@[package:]integer/integer_name
語(yǔ)法:
<?xml version="1.0" encoding="utf-8"?> <resources> <integer name="integer_name" >integer</integer> </resources>
 
元素:
<resources>
必需。該元素必須是根節(jié)點(diǎn)。

沒(méi)有屬性。

<integer>
一個(gè)整數(shù)。

屬性:

name
字符串。該整數(shù)的名稱。該名稱將用作資源 ID。
示例:

保存在 res/values/integers.xml 的 XML 文件:

<?xml version="1.0" encoding="utf-8"?> <resources> <integer name="max_speed">75</integer> <integer name="min_speed">5</integer> </resources>  

以下應(yīng)用代碼會(huì)檢索整數(shù):

java代碼: Resources res = getResources(); int maxSpeed = res.getInteger(R.integer.max_speed); kotlin代碼: val maxSpeed: Int = resources.getInteger(R.integer.max_speed)

整數(shù)數(shù)組

在 XML 中定義的整數(shù)數(shù)組。

注意:整數(shù)數(shù)組是使用 name 屬性中提供的值(而不是 XML 文件的名稱)引用的簡(jiǎn)單資源。因此,您可以在一個(gè) XML 文件中將整數(shù)數(shù)組資源與其他簡(jiǎn)單資源合并到一個(gè) <resources> 元素下。

文件位置:
res/values/filename.xml
該文件名可以任意設(shè)置。<integer-array> 元素的 name 將用作資源 ID。
編譯后的資源數(shù)據(jù)類型:
指向整數(shù)數(shù)組的資源指針。
資源引用:
在 Java 中:R.array.integer_array_name
在 XML 中:@[package:]array.integer_array_name
語(yǔ)法:
<?xml version="1.0" encoding="utf-8"?> <resources> <integer-array name="integer_array_name"> <item >integer</item> </integer-array> </resources>
 
元素:
<resources>
必需。該元素必須是根節(jié)點(diǎn)。

沒(méi)有屬性。

<integer-array>
定義一個(gè)整數(shù)數(shù)組。包含一個(gè)或多個(gè) <item> 子元素。

屬性:

android:name
字符串。數(shù)組的名稱。此名稱將用作引用數(shù)組的資源 ID。
<item>
一個(gè)整數(shù)。該值可以是對(duì)另一個(gè)整數(shù)資源的引用。必須是 <integer-array> 元素的子元素。

沒(méi)有屬性。

示例:
保存在 res/values/integers.xml 的 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>
 

以下應(yīng)用代碼會(huì)檢索整數(shù)數(shù)組:

java代碼: Resources res = getResources(); int[] bits = res.getIntArray(R.array.bits); kotlin代碼: val bits: IntArray = resources.getIntArray(R.array.bits)  

類型化數(shù)組

在 XML 中定義的 TypedArray。您可以使用這種資源創(chuàng)建其他資源(例如可繪制對(duì)象)的數(shù)組。請(qǐng)注意,此類數(shù)組不要求所含的資源具有相同的類型,因此您可以創(chuàng)建混合資源類型的數(shù)組,但必須知道數(shù)組中有哪些數(shù)據(jù)類型及其位置,以便可以使用 TypedArray 的 get...() 方法正確獲取每一項(xiàng)數(shù)據(jù)。

注意:類型化數(shù)組是使用 name 屬性中提供的值(而不是 XML 文件的名稱)引用的簡(jiǎn)單資源。因此,您可以在一個(gè) XML 文件中將類型化數(shù)組資源與其他簡(jiǎn)單資源合并到一個(gè) <resources> 元素下。

文件位置:
res/values/filename.xml
該文件名可以任意設(shè)置。<array> 元素的 name 將用作資源 ID。
編譯后的資源數(shù)據(jù)類型:
指向 TypedArray 的資源指針。
資源引用:
在 Java 中:R.array.array_name
在 XML 中:@[package:]array.array_name
語(yǔ)法:
<?xml version="1.0" encoding="utf-8"?> <resources> <array name="integer_array_name"> <item>resource</item> </array> </resources>
 
元素:
<resources>
必需。該元素必須是根節(jié)點(diǎn)。

沒(méi)有屬性。

<array>
定義一個(gè)數(shù)組。包含一個(gè)或多個(gè) <item> 子元素。

屬性:

android:name
字符串。數(shù)組的名稱。此名稱將用作引用數(shù)組的資源 ID。
<item>
通用資源。該值可以是對(duì)資源或簡(jiǎn)單數(shù)據(jù)類型的引用。必須是 <array> 元素的子元素。

沒(méi)有屬性。

示例:
保存在 res/values/arrays.xml 的 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>
 

以下應(yīng)用代碼會(huì)檢索每個(gè)數(shù)組,然后獲取每個(gè)數(shù)組中的第一個(gè)條目:

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); 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)

分享名稱:Android復(fù)習(xí)(二)應(yīng)用資源——&gt;更多類型-創(chuàng)新互聯(lián)
文章起源:http://bm7419.com/article36/cdidpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、微信公眾號(hào)、網(wǎng)站制作面包屑導(dǎo)航、定制網(wǎng)站、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管