Creating Apps With Material Design —— Working with Drawables

來源:互聯網
上載者:User

標籤: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:tintandroid: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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.