转载请注明出处:
http://blog.csdn.net/user11223344abc?viewmode=contents
出自【蛟-blog】
0.前言
Material Design,android 5.0出的一波新控件,到现在也有一些日子了,工作过程中也零碎的使用了一阵,但都浅尝辄止,准备这会儿好好总结一波。
1.Material Design 包含中有哪些控件?
hot分类:
代表能够充当一些复杂解决方案的md控件,很大可能会依仗它们来实现一些复杂效果,并且在逻辑上相对复杂。
cold分类:
代表一些相对简单的Material Designd控件。
hot和cold分类:
均包含在dessign包内
ohters分类:
代表一些需单独引入的控件,并不包含在dessgin包内的控件
hot:
CoordinatorLayout //协调员布局
CollapsingToolbarLayout //折叠布局
AppBarLayout
TabLayoutcold:
TextInputLayout
NavigationView
SnackBar
Bottom Sheets
PercentRelativeLayout and PercentFrameLayout
Vector Drawables
FloatingActionButtonothers:
RecyclerView //替代ListView
CardView //卡片布局
NestedScrollView //替代ScrollView
2.关于引入
就说说目前接触过的Md控件的引入:
- 基本md包的引入
compile ‘com.android.support:design:25.0.0’
这里我要多说俩句:
很多朋友初次引入的时候都会遇见一个坑:
Error inflating class android.support.design.widget.XXXXX_View
遇见这坑的时候只需要做2个检查就可解决:
1:检查你的appTheme是否是继承了 parent=”Theme.AppCompat.Light.DarkActionBar”
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
2:检查你的app/gradle依赖下边是不是引入了appcompat,就是说,要用design的包,appcompat的包需要同时引入,且二者版本号亦要一致
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
RecyclerView
compile ‘com.android.support:recyclerview-v7:23.1.1’
CardView
compile ‘com.android.support:cardview-v7:23.1.1’
注意RV和CV引入时他后面的版本号所参照的对象和design包所参照的对象一样,皆是appCompact。
备注:
本文为目录篇,介于楼主当时的水平和理解程度,会持续的进行勘误,此期间有什么错误和不够详细的地方还请各位谅解,感谢。