您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > 【黑马程序员】Material-Design
黑马程序员济南中心编著【济南中心】MaterialDesign什么是MaterialDesignMaterialDesign,中文名:质感设计,是由Google推出了全新的设计语言。说白了就是一套设计规范,给咱们提供了一些比较丰富的视觉效果MaterialDesign如何引用到项目中新建项目的时候在res目录下创建values-21目录和styles.xml。在styles.xml引用MaterialDesign主题MaterialDesign系统给咱们提供了3个默认的主题1)android:Theme.Material2)android:Theme.Material.Light3)android:Theme.Material.Light.DarkActionBar除了3种主题外还可以修改主题对应的颜色1)状态栏颜色:colorPrimaryDark黑马程序员济南中心编著2)标题栏颜色:colorPrimary3)主要文本颜色:textColorPrimary4)次要文本颜色:textColorSecondary5)底部导航栏的颜色:navigationBarColor6)背景色:windowBackground主题编辑器第一步:黑马程序员济南中心编著第二步:代码切换主题1)在vlaues-21目录下的styles.xml中定义主题黑马程序员济南中心编著2)publicstaticintcurrent_theme=-1;3)给current_theme设置成为要显示的主题样式current_theme=R.style.GreenTheme;4)关闭页面重新打开页面5)在activity重新初始化的时候将修改的主题设置成为新的主题黑马程序员济南中心编著阴影在控件中声明属性elevation在相对布局中会按顺序绘制布局,如下图所示但是如果加上elevation阴影属性,则是判断阴影的大小,如果A的阴影值大于B,则A会在上面。如果A的阴影数值大于B的则如下图:黑马程序员济南中心编著设置视图现实层级高度1)elevation:相对于父控件的高度2)translationZ:创建一个动画暂时的反应出View的高度值(elevation)变化设置视图的阴影,outlineProvider属性1)none2)paddingBounds3)bounds4)background黑马程序员济南中心编著使用ViewOutlineProvider裁剪阴影注意:注意:并不所有的形状都可以剪裁,可通过OutlineProvider.canClip确认1)裁剪圆角矩形a)构造ViewOutlineProvider,并实现它的getOutline(view,outline)b)调用outline的setRoundRect()方法,进行裁剪阴影c)将ViewOutlineProvider提供给视图的setOutlineProvider()d)将视图裁剪成对应的图形,需要设置视图的setClipToOutline为true2)小正方形a)构造ViewOutlineProvider,并实现它的getOutline(view,outline)b)通过outline调用setRect()方法进行裁剪阴影c)将ViewOutlineProvider提供给视图的setOutlineProvider()黑马程序员济南中心编著d)将视图裁剪成对应的图形,需要设置视图的setClipToOutline为true3)三角形a)构造ViewOutlineProvider,并实现它的getOutline(view,outline)b)通过Path绘制路径c)通过outline调用setConvexPath(path)进行裁剪阴影d)将ViewOutlineProvider提供给视图的setOutlineProvider()e)将视图裁剪成对应的图形,需要设置视图的setClipToOutline为true裁剪三角形失败,但是实际上阴影已经是三角形了黑马程序员济南中心编著Tint混合图片效果图:因为有点击效果所以本身是个selectortint_selectortint_bitmap黑马程序员济南中心编著Tint混合图片制作方式1)写一个xml,父标签是bitmap2)通过src属性指定图片3)通过tint设置染色色彩4)通过tintMode指定染色模式(效果参照效果图)a)addb)src_overc)src_atopd)screene)src_inf)multiply取色器注意在build.gradle中配置compile'com.android.support:palette-v7:23+'黑马程序员济南中心编著在回调方法onGenerated(Palettepalette)中可以通过palette对象获取6种不同颜色1)palette.getVibrantColor(Color.BLACK)//Vibrant充满生机2)palette.getDarkVibrantColor(Color.BLACK)//Vibrantdark暗的充满生机3)palette.getLightVibrantColor(Color.BLACK)//Vibrantlight亮的充满生机4)palette.getMutedColor(Color.BLACK)//Muted柔和5)palette.getDarkMutedColor(Color.BLACK)//Muteddark暗的柔和6)palette.getLightMutedColor(Color.BLACK)//Mutedlight亮的柔和矢量图矢量图的特点:1)文件小,图像中保存的是线条和图块的信息,所以矢量图与分辨率和图像大小无关,只与图像的复杂程度有关,图像文件所占的存储空间较小2)图像可以无级缩放,对图形进行缩放,旋转或变形操作时,图形不会产生锯齿效果黑马程序员济南中心编著利用xml画矢量图:其中数据的获取可以在这个网站上画出图形然后查看数据波纹动画使用:1)android:background=“?android:selectableItemBackground”2)android:background=“?android:selectableItemBackgroundBorderless”黑马程序员济南中心编著低版本兼容:自定义波动动画:1)通过ViewAnimationUtils给我们提供了createCircularReveal(目标view,中心点x,中心点Y,起始位置,结束位置)方法来实现揭示动画2)返回一个动画对象,然后给动画设置属性开启动画动画选择器
本文标题:【黑马程序员】Material-Design
链接地址:https://www.777doc.com/doc-7634537 .html