Material Design Compoents 1.1.0

Material Design Compoents 1.1.0

增長了 Material Theming,新的組件、黑暗主題支持、等等android

新的功能:markdown

  • 全部組件都支持黑暗主題app

  • 新的日期選擇器(具備範圍選擇功能和提高可訪問功能)工具

  • 擴展 Floating Action 按鈕oop

  • 切換按鈕組測試

  • 支持 Android 10 進行邊緣手勢導航的組件字體

  • 改善無障礙功能google

  • 全新的 Material Theming (形狀、板式、顏色)spa

  • 穩定性和質量改進設計

MDC的背景說明

Material Components for Android(MDC)是從之前的 Design Support Library 庫演變而來,是與 AndroidX 來搭配的。考慮到版本兼容和過渡,一開始的 1.0.0 版本與 design 庫 28.0.0 是等價的。命名發生了改變從 com.android.support.designcom.google.android.material 。不事後續更新 design 庫就再也不更新了,也就是說 design 庫就永遠的停留在了 1.0.0 這個版本了。

1.0.0 開始 Material Design 的規範不斷髮展。出現了新的規範、準則和新的組件,來更好的表明品牌同時保持了 Material 的核心原則。MDC 的目的是爲開發者提供一個庫,該庫經過代碼形式來實現這些組件和準則。隨着指南不斷的變化更新,MDC 將進行調整並更新來知足新的規範。

1.1.0 有什麼新功能

**MDC從 1.0.0 開始發生了大量的改變!**若是你還在使用測試版或者1.0.0 請儘快遷移到 1.1.0 版本或者更新版本。

Material Theming

Material Theming 可讓你更好的自定義 Material Design 來體現咱們的品牌、顏色、字體和形狀的選擇。

MDC 1.1.0 在您的 Android 應用中啓用 Material Theming 。全部組件都支持經過主題、樣式、新屬性和自定義類(好比:MaterialShapeDrawable) 來調整其顏色、字體和形狀。

// 這個地方要繼承 Theme.MaterialComponents.*
<style name="Theme.MyApp" parent="Theme.MaterialComponents.*"> <!-- Color attributes --> <item name="colorPrimary">@color/green_500</item> <item name="colorPrimaryVariant">@color/green_700</item> <item name="colorOnPrimary">@color/black</item> <item name="colorSecondary">@color/orange_500</item> <item name="colorSecondaryVariant">@color/orange_300</item> <item name="colorOnSecondary">@color/black</item> <item name="colorError">@color/red_700</item> <item name="colorOnError">@color/white</item> <item name="colorSurface">@color/white</item> <item name="colorOnSurface">@color/black</item> <item name="android:colorBackground">@color/white</item> <item name="colorOnBackground">@color/black</item> <!-- Type attributes --> <item name="textAppearanceHeadline1"> @style/TextAppearance.MyApp.Headline1 </item> <item name="textAppearanceHeadline2"> @style/TextAppearance.MyApp.Headline2 </item> <item name="textAppearanceHeadline3"> @style/TextAppearance.MyApp.Headline3 </item> <item name="textAppearanceHeadline4"> @style/TextAppearance.MyApp.Headline4 </item> <item name="textAppearanceHeadline5"> @style/TextAppearance.MyApp.Headline5 </item> <item name="textAppearanceHeadline6"> @style/TextAppearance.MyApp.Headline6 </item> <item name="textAppearanceSubtitle1"> @style/TextAppearance.MyApp.Subtitle1 </item> <item name="textAppearanceSubtitle2"> @style/TextAppearance.MyApp.Subtitle2 </item> <item name="textAppearanceBody1"> @style/TextAppearance.MyApp.Body1 </item> <item name="textAppearanceBody2"> @style/TextAppearance.MyApp.Body2 </item> <item name="textAppearanceCaption"> @style/TextAppearance.MyApp.Caption </item> <item name="textAppearanceButton"> @style/TextAppearance.MyApp.Button </item> <item name="textAppearanceOverline"> @style/TextAppearance.MyApp.Overline </item> <!-- Shape attributes --> <item name="shapeAppearanceSmallComponent"> @style/ShapeAppearance.MyApp.SmallComponent </item> <item name="shapeAppearanceMediumComponent"> @style/ShapeAppearance.MyApp.MediumComponent </item> <item name="shapeAppearanceLargeComponent"> @style/ShapeAppearance.MyApp.LargeComponent </item> </style>
複製代碼

新組件

Material Components 庫中有不少新的組件添加到了 MDC 1.1.0 中。而且已經存在的組件也是經過最新的設計有了新的 style 若是您使用的是Design庫或者 MDC 1.0.0 那麼組件將自動採用這些新樣式。例如,文字有新的默認的 appearance

MDC 1.1.0 中提供的一些新組件和更新組件包括:

  • 擴展 FAB
  • 日期選擇器
  • 切換按鈕
  • 底部應用欄

黑色主題支持

在 Android 10 中引入了系統範圍的深色主題支持。連同 Material Design 指南。MDC 能夠當即使用 Material Dark 主題。它以現有的 AppCompat DayNight功能爲基礎,所以不用從頭開始實現它:

  • 主題:如今全部的 MDC 主題都會有不一樣的 DayNight 形式。這些會根據設備配置自動在 -night-not-night 資源定位符之間切換。
  • 新顏色:默認調色板已擴展爲了深色主題已經擴展了。應該進行調整 colorPrimary colorSecondary 以使品牌在黑暗主題中的飽和度下降。默認狀況下 colorSurface android:colorBackground 使用深灰而不是黑色來減輕眼睛疲勞,使高程度更明顯,並確保與文本和其餘元素造成適當的對比度。
  • 海拔表面增亮:全部 MDC 組件都支持其表面增亮來傳達黑暗主題中的海拔。指南中的白色覆蓋投影映射到組件上設置的 elevation 的數值。
  • 可訪問性:MDC 利用顏色來區分是否能夠訪問。(colorSurface 和 colorOnSurface)在深色主題中區分可訪問和不可訪問一個重要的方面是經過顏色之間有足夠的對比度!MDC 如今使用推薦的顏色和不透明度來確保是這種狀況。
  • Primary 和 Surface 顏色切換:MDC 組件遵循指南,減小在深色主題中使用 Primary 色。例如:能夠在工具欄中看到使用 colorSurface 來替換了 colorPrimary 做爲其背景色。這是由一個新的顏色屬性 colorPrimarySurface (更加當前的模式在 colorPrimarycolorSurface之間切換)和組件的PrimarySurface style 來提供支持。

Android 10 手勢支持

手勢導航是在 Android10 中引入的。某些 MDC 組件經常處於主手勢的區域(好比,BottomNavigationView 以及從底部向上滑動的原始手勢)。相關組件已經更新,以考慮這些手勢區域以及設備方向。適當的 padding/margin 值會自動被申請,用 WindowInsets API(在 Android 10 或者更高版本)。

Accessibility improvements

許多可 accessibility 改進已經加入到 MDC 組件中。這主要包含更好的 "話語提示" 在有用的內容描述、功能和各部分的排序。例如,TextInputLayout如今按正確的順序讀取其提示,輸入以及幫助程序或錯誤文本。

MDC的下一步計劃

咱們已經收到了您關於 MDC 版本的反饋。咱們致力於更新而且整合您的重要貢獻。

原文地址:medium.com/google-desi…

相關文章
相關標籤/搜索