第六章Drawable
- Drawable是一个抽象类,如果是图片的话有内部宽高的概念
- antialias抗锯齿,是图片平滑,降低图片的清晰度可以忽略,建议开启
- dither抖动,开启后高质量的图片在低质量的屏幕上有好的显示效果,建议开启
- filter过滤,开启后拉伸或压缩是保持较好的显示效果,建议开启
- tileMode平铺模式,开启后gravity会被忽略repeat、mirror、clamp扩散
- ShapeDrawable通过颜色来构造图形shape、gradient、corners、solid、stroke、padding、size指定宽高
- LayerDrawable层次化的drawable集合,下面的会覆盖上面的layer-list
- StateListDrawable selector、constantsize决定大小是否随着不同的状态改变而改变、dither、variablePadding不建议开启,最后一条放默认不加任何状态
- LevelListDrawable、level-list,drawable的等级从1到10000
- TransitionDrawable、transition用于实现两个drawable之间的淡入淡出
- InsertDrawable将其他的drawable内嵌到自己当中、insert
- scaleDrawable、scale,根据自己的等级来缩放一个drawable
- clicpDrawable根据自己的等级裁剪一个drawable、clip
第七章Android动画解析
- view动画:平移、缩放、旋转、透明度
- LayoutAnimation作用于ViewGoup,是一个view动画
- overridePendingTransition必须在startActivity或者finish之后调用才能生效
- ObjectAnimator继承自ValueAnimator
- 属性动画需要定义在res/animator/目录下,实际开发中建议通过代码来实现
- TimeInterpolator时间插值器,根据时间的流逝来计算当前属性改变的百分比
- 估值器,根据当前属性的百分比来计算改变之后的属性值
- 插值器和估值器都是一个接口并且只有一个方法
- 属性动画要求动画作用的对象提供该属性的get和set方法,解决该问题的三种方法1:直接加方法,2:用一个类来包装,3:监听valueAnimator、fraction当前进度占总动画过程的比例
- view.clearAnimation清楚view动画
- 使用动画的过程中建议开启硬件加速