W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
編寫: allenlsy - 原文: https://developer.android.com/training/material/drawables.html
以下這些drawable的功能,能幫助你在應(yīng)用中實(shí)現(xiàn)Material Design:
本課教你如何在應(yīng)用中使用這些特性:
使用 Android 5.0 (API level 21)以上版本,你可以使用alpha mask(透明度圖層,譯者注)給位圖和nine patches圖片染色。你可以用顏色Resource或者主題屬性來獲取顏色(比如,?android:attr/colorPrimary
)。通常,你只需要?jiǎng)?chuàng)建一次這些顏色asset,便可以在主題中自動(dòng)匹配這些顏色。
你可以用setTint()
方法將一種染色方式應(yīng)用到BitmapDrawable
或者NinePatchDrawable
對(duì)象。你也在layout中使用android:tint
和android:initMode
屬性設(shè)置染色的顏色和模式。
Android Support Library v21及更高版本帶有Palatte
類,可以讓你從圖片中提取主色調(diào)。這個(gè)類可以提取以下顏色:
提取這些顏色時(shí),在你載入圖片的后臺(tái)線程中傳入一個(gè)Bitmap對(duì)象給Palette.generate()
靜態(tài)方法。如果你不能使用那個(gè)線程,可以調(diào)用Palatte.generateAsync()
方法,并提供一個(gè)listener。
你可以用Palette類的一個(gè)getter方法從圖片獲取主色調(diào),比如Palette.getVibrantColor()
。
要使用Palette
類,在你的應(yīng)用模塊的Gradle依賴中添加以下代碼:
dependencies {
...
compile 'com.android.support:palette-v7:21.0.+'
}
更多信息,請(qǐng)參見Palette類的API文檔。
在Android 5.0 (API level 21)以上版本中,你可以定義矢量drawable,用于無損的拉伸圖片。相對(duì)于一張普通圖片需要為每個(gè)不同屏幕密度的設(shè)備提供一個(gè)圖片來說,一個(gè)矢量圖片只需要一個(gè)asset文件。要?jiǎng)?chuàng)建矢量圖片,你可以在<vector>
XML元素中定義形狀。
以下代碼定義了一個(gè)心形:
<!-- res/drawable/heart.xml -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
<!-- intrinsic size of the drawable -->
android:height="256dp"
android:width="256dp"
<!-- size of the virtual canvas -->
android:viewportWidth="32"
android:viewportHeight="32">
<!-- draw a path -->
<path android:fillColor="#8fff"
android:pathData="M20.5,9.5
c-1.955,0,-3.83,1.268,-4.5,3
c-0.67,-1.732,-2.547,-3,-4.5,-3
C8.957,9.5,7,11.432,7,14
c0,3.53,3.793,6.257,9,11.5
c5.207,-5.242,9,-7.97,9,-11.5
C25,11.432,23.043,9.5,20.5,9.5z" />
</vector>
矢量圖片在Android中用VectorDrawable對(duì)象來表示。更多關(guān)于pathData
語(yǔ)法的信息,請(qǐng)看SVG Path的文檔。更多關(guān)于矢量drawable動(dòng)畫的信息,請(qǐng)參見矢量drawable動(dòng)畫。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: