91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android中的資源、屬性引用方式

發布時間:2020-06-04 05:03:20 來源:網絡 閱讀:2451 作者:一劍圍城 欄目:移動開發

android系統中引用資源有幾種方式,常用的有“@”“@+”引用具體資源的方式。也有“?”"?attr"等引用主題屬性的方式,方式多了容易亂,為保持思路清晰,總結之。

 

引用格式分解:

android:background="@color/light_red"    引用colors.xml中定義的顏色資源

android:background="?attr/colorPrimary"  引用主題屬性colorPrimary


android命名空間
background屬性名稱
@表明引用的是具體資源
?表明引用的是系統屬性
color資源類型
attr屬性的類型
light_redcolors.xml中定義的顏色資源名稱
colorPrimary屬性名稱


引用具體資源:

1、引用自定義資源

格式:@[package:]type/name

例如:android:text="@string/app_name"

=====================================================================

2、引用系統資源

格式:@android:type/name

例如:android:textColor="@android:color/light_blue"

@android:style/Theme.Holo.Light //引用系統主題

 

3、“@+”表示新建并引用資源id

例如:android:id="@+id/bt_title"

 

繼承關系指定:(這里可以不需要使用“@”)

<style name="AppTheme" parent="android:Theme.Holo.Light" />

同上<style name="AppTheme" parent="@android:style/Theme.Holo.Light">

 

<style name="AppTheme" parent="Theme.AppCompat.Light" />

同上<style name="AppTheme" parent="@style/Theme.AppCompat.Light" />

=====================================================================

引用主題屬性:

5、“?”表示引用主題屬性

引用當前主題中定義的屬性。“@”表示引用具體的資源,而“?”表示當前theme中定義的屬性,該屬性指定了具體的資源值,實現了根據使用的不同theme使用不同的資源的功能。

例如:background="?colorPrimary"。在使用theme_white和theme_black時background的值分別是white和black

<style name="theme_white"parent="android:Theme.Holo.Light">

        <itemname="android:colorPrimary">@android:color/white</item>

</style>

<style name="theme_black"parent="android:Theme.Holo.Light">

        <itemname="android:colorPrimary">@android:color/black</item>

</style>

 

引用屬性寫法:

引用自定義屬性:?attr/colorPrimary                 簡寫:?colorPrimary

引用系統屬性:?android:attr/colorPrimary       簡寫:?android:colorPrimary

其中,自定義屬性會復寫系統屬性

 

引用屬性時,不需要指定類型(?name == ?attr/name)

當colors.xml中有定義colorPrimary屬性時,

鼠標在該屬性上時“?colorPrimary”和“?attr/colorPrimary”均顯示:

?attr/colorPrimary => @color/colorPrimary =>#3F51B5

所以:“?colorPrimary”只是“?attr/colorPrimary”的簡寫

 

鼠標在該屬性上時“?android:colorPrimary”和“?android:attr/colorPrimary”均顯示:

?android:attr/colorPrimary => ?attr/colorPrimary=> @color/colorPrimary => #3F51B5

所以:“?android:colorPrimary”只是“?android:attr/colorPrimary”的簡寫

 

當colors.xml中沒定義colorPrimary屬性時,

?attr/colorPrimary => @color/primary_material_light=> @color/material_grey_100 => #fff5f5f5

這是AppCompat包中定義的屬性值

 

引用資源時,一定要指定類型(@name != @color/name)

@name會引用失敗

因為不同類型的資源可以有相同的名稱,如:R.color.white、R.style.white。

而主題屬性不可以,并且在attrs.xml中就約束了其類型,所以屬性引用可以省略,而資源引用不可以

 

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安仁县| 繁峙县| 安陆市| 张家港市| 桂阳县| 泰宁县| 冀州市| 项城市| 本溪市| 泽库县| 永州市| 禄劝| 简阳市| 长兴县| 阳曲县| 合山市| 扬州市| 武山县| 宁津县| 汉中市| 集贤县| 中牟县| 聂拉木县| 阿拉善左旗| 崇义县| 南漳县| 赫章县| 吴堡县| 迭部县| 江门市| 永州市| 固镇县| 方正县| 盈江县| 滨州市| 库伦旗| 达孜县| 丽水市| 米林县| 云霄县| 吴堡县|