增長了 Material Theming,新的組件、黑暗主題支持、等等android
新的功能:markdown
全部組件都支持黑暗主題app
新的日期選擇器(具備範圍選擇功能和提高可訪問功能)工具
擴展 Floating Action 按鈕oop
切換按鈕組測試
支持 Android 10 進行邊緣手勢導航的組件字體
改善無障礙功能google
全新的 Material Theming (形狀、板式、顏色)spa
穩定性和質量改進設計
Material Components for Android(MDC)是從之前的 Design Support Library
庫演變而來,是與 AndroidX
來搭配的。考慮到版本兼容和過渡,一開始的 1.0.0
版本與 design 庫 28.0.0
是等價的。命名發生了改變從 com.android.support.design
到 com.google.android.material
。不事後續更新 design
庫就再也不更新了,也就是說 design
庫就永遠的停留在了 1.0.0
這個版本了。
從 1.0.0
開始 Material Design
的規範不斷髮展。出現了新的規範、準則和新的組件,來更好的表明品牌同時保持了 Material
的核心原則。MDC
的目的是爲開發者提供一個庫,該庫經過代碼形式來實現這些組件和準則。隨着指南不斷的變化更新,MDC 將進行調整並更新來知足新的規範。
**MDC從 1.0.0
開始發生了大量的改變!**若是你還在使用測試版或者1.0.0
請儘快遷移到 1.1.0
版本或者更新版本。
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
中提供的一些新組件和更新組件包括:
在 Android 10 中引入了系統範圍的深色主題支持。連同 Material Design 指南。MDC 能夠當即使用 Material Dark
主題。它以現有的 AppCompat DayNight
功能爲基礎,所以不用從頭開始實現它:
DayNight
形式。這些會根據設備配置自動在 -night
和 -not-night
資源定位符之間切換。colorPrimary
colorSecondary
以使品牌在黑暗主題中的飽和度下降。默認狀況下 colorSurface android:colorBackground
使用深灰而不是黑色來減輕眼睛疲勞,使高程度更明顯,並確保與文本和其餘元素造成適當的對比度。elevation
的數值。colorSurface
來替換了 colorPrimary
做爲其背景色。這是由一個新的顏色屬性 colorPrimarySurface
(更加當前的模式在 colorPrimary
和 colorSurface
之間切換)和組件的PrimarySurface
style 來提供支持。手勢導航是在 Android10 中引入的。某些 MDC 組件經常處於主手勢的區域(好比,BottomNavigationView
以及從底部向上滑動的原始手勢)。相關組件已經更新,以考慮這些手勢區域以及設備方向。適當的 padding/margin
值會自動被申請,用 WindowInsets
API(在 Android 10 或者更高版本)。
許多可 accessibility
改進已經加入到 MDC 組件中。這主要包含更好的 "話語提示" 在有用的內容描述、功能和各部分的排序。例如,TextInputLayout
如今按正確的順序讀取其提示,輸入以及幫助程序或錯誤文本。
咱們已經收到了您關於 MDC 版本的反饋。咱們致力於更新而且整合您的重要貢獻。