1.什么是Material Design
2.為什么使用Material Design
3.Material Design主要的控件和使用
什么是Material Design
中文翻譯為材料設(shè)計顺又,由谷歌2014年I/O大會上推出的全新設(shè)計語言吼和。對于Android系統(tǒng)會提供API供開發(fā)使用。
為什么使用Material Design
首先先問下為什么要推出這個設(shè)計語言辈赋?為了構(gòu)建一種跨平臺和超越尺寸的統(tǒng)一體驗的設(shè)計體系。題外話是膏燕,嫉妒蘋果的統(tǒng)一性設(shè)計钥屈,想擴大自己在軟件上的設(shè)計影響力。但是對于Android開發(fā)者來說坝辫,還是具有界面美觀篷就,便捷開發(fā)的優(yōu)勢。
Material Design主要的控件和使用
對于Android應(yīng)用開發(fā)近忙,需要引入Design設(shè)計包竭业,才可以使用。
dependencies {
implementation "com.android.support:design:26.0.2"
}
DrawerLayout + NavigationView (ActionBarDrawerToggle)模式可以制作一個側(cè)滑攔的布局及舍,非常簡潔好用未辆。
CoordinatorLayout:協(xié)調(diào)性布局,目前是分為兩部分:可收縮布局和可滑動布局锯玛「拦瘢可收縮布局主要是由AppBarLayout包裹一些控件來收縮布局,比如CollapsingToolbarLayout,Toolbar攘残;可滑動布局明確規(guī)定必須實現(xiàn)NestedScrollingChild接口才能實現(xiàn)滑動效果拙友,可直接使用的控件有NestedScrollView,SwipeRefreshLayout和RecyclerView。
AppBarLayout中scrollFlags的五個值:
scroll:表示子布局可以滑動來展現(xiàn)或者隱藏AppBar布局歼郭,這是其它四個條件的必要條件
snap:表示界面顯示完整的AppBar布局或者不顯示AppBar布局献宫,或者只顯示Toolbar的高度
exitUtilCollapsed:表示Toolbar固定在頂部顯示,AppBar根據(jù)子布局展示頂部時才全部顯示
enterAlways:內(nèi)容向下拉時顯示完整Appbar实撒,內(nèi)容向上推時隱藏Appbar
enterAlwaysCollapsed:內(nèi)容向下拉到頂部時顯示Appbar姊途,否則不顯示Appbar
這幾種可以組合使用涉瘾,效果會有些微的變化:
scroll enterAlways enterAlwaysCollapsed 內(nèi)容向下拉時只顯示Toolbar,內(nèi)容向上拉時隱藏AppBarLayout布局
BottomNavigationView是實現(xiàn)底部導(dǎo)航欄的控件捷兰,官方指導(dǎo)2-4控件放在底部比較合適立叛,通過設(shè)置app:menu="@menu/bottom_navigation_menu"來顯示控件。
TabLayout是和BottomNavigationView控件類似的一組導(dǎo)航欄控件贡茅,常放于屏幕頂部秘蛇,子控件數(shù)量不限,所以它本身設(shè)置了好多種模式顶考,滑動的赁还,平分的,居中的驹沿,各種效果都有艘策。
這兩種控件都可以展示許多個View,一般都與View Pager一起使用渊季,里面包含F(xiàn)ragment顯示朋蔫。另外有一些常用的控件,例如FloatingActionButton却汉,放在CoordinatorLayout布局中具有可收縮功能驯妄,其它好像跟一個ImageView沒有太多的區(qū)別。SnackBar合砂,是底部顯示通知消息的一種控件青扔,并且可以設(shè)置操作功能,相比于以前的Toast只能提示信息翩伪,多了可以操作的功能赎懦。CardView,可以方便的實現(xiàn)圓角幻工,陰影等效果的布局,繼承于FrameLayout黎茎。TextInputLayout控件囊颅,里面常包裹輸入框,可以將hint內(nèi)容在輸入內(nèi)容時移動輸入框頂部傅瞻,可以在輸入庫底部顯示錯誤的信息踢代,可以顯示輸入字符的數(shù)量等等功能,算是一個集成的功能嗅骄。
具體使用可參考Material Design基本控件使用Demo