標籤:l android開發 material design
轉載請註明 http://blog.csdn.net/eclipsexys 翻譯自Developer Android,時間倉促,有翻譯問題請留言指出,謝謝
Drawable
通過可繪製了以下功能協助您實現材料設計你的應用程式:
可繪製著色
突出的顏色提取
向量可繪
這一課將告訴您如何使用您的應用程式這些功能。
可調色的Drawable資源
採用Android5.0(API等級21)以上,則可以著色定義為透明遮罩位元影像和nine-patches圖。您可以調整它們的色彩資源或主題屬性,以便於解決顏色資源(例如,
?android:attr/colorPrimary)。通常情況下,您將建立這些資產只有一次,並自動將它們上色,以符合您的主題。
您可以將色彩以BitmapDrawable或NinePatchDrawable對象與setTint()方法。您還可以設定色調的顏色和模式,在不同的介面與
android:tint和
android:tintMode屬性,從映像中提取顏色突出。
Android的支援庫R21及以上包括面板類,它可以讓你從映像中提取突出的顏色。這個類中提取以下突出的顏色:
充滿活力
充滿活力的黑暗
充滿活力的光
靜音
柔和的暗
柔和的光線
要提取這些顏色,傳遞一個Bitmap對象到您載入圖片的Palette.generate()靜態方法在後台線程。如果你不能使用線程調用Palette.generateAsync()方法,並提供了一個監聽器來代替。
你可以從映像使用getter方法??在面板類,如Palette.getVibrantColor突出的顏色。
要使用調色盤類項目,以下搖籃依賴添加到您的應用程式的模組:
dependencies { ... compile ‘com.android.support:palette-v7:+‘}
建立VerctorDrawable
在安卓5.0(API等級21)以上,則可以定義向量可繪製對象,其中規模又不失清晰。你的向量映像僅需要一個資源檔,而不是一個資產檔案中的位元影像映像的情況下,每個螢幕密度。要建立一個向量映像,你定義了一個<vector> XML元素內部的形狀的細節。
下面的例子定義了心臟的形狀向量映像:
<!-- 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對象。有關pathData文法的詳細資料,請參閱SVG的路徑參考。有關動畫的向量可繪製對象的屬性的詳細資料,請參閱向量動畫效果可繪製對象。
Creating Apps With Material Design —— Working with Drawables