上節,對Material Design樣式做了介紹,這節我們介紹Palette。
在Android發展的長河中,UI越來越成為Google的發展重心。上文提到Android 5.x 使用palette來提取顔色,進而使主題動态适用目前頁面的色調,于是乎使整個app顔色色調更加和諧統一。
Android 内置了幾種提取色調的種類,如下所示。
1、Vibrant(充滿活力的)
2、Vibrant dark(充滿活力的黑)
3、Vibrant light(充滿活力的亮)
4、Muted(柔和的)
5、Muted dark(柔和的黑)
6、Muted light(柔和的亮)
開發組能夠使用 Palette提供 的 API,能夠讓我們從 Bitmap 中擷取對應的色調,修改目前的主題色調。 使用 Palette 首先需要在 Android Studio 中引用相關的依賴,在項目清單上點選 F4,然後在Module Setting 的 Dependencies 頁籤中添com.android.support:palette-v7:21.0.2 引用,重新同步項目即可。可以通過傳遞一個 Bitmap 對象給 Palette,并調用它的 Palette.generate()靜态方法或者 Palette.generateAsync()方法來建立一Palette。接下來,就可以使用 getter 方法來檢索相應的色調,這些色調就是我們在上面清單中所列出來的色調。
可以通過以下不同的方法來提取不同色調的顔色。代碼分别如下:
而下面這個例子,示範了使用 getDarkVibrantSwatch()方法提取的色調效果色調來改變狀态欄的色調,代碼如下所示。
而代碼運作效果則是如下所示:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SM3IjNzIDN1cTMtQzN5kjMyIDMxQTMzAjNxAjMtMTNyADN08CXzAjNxAjMvw1M1IDM0QzLcd2bsJ2Lc12bj5ycn9Gbi52YuUTMwIzcldWYtl2Lc9CX6MHc0RHaiojIsJye.png)