Android开发艺术探索 第六章 第七章

第六章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动画
  • 使用动画的过程中建议开启硬件加速

你可能感兴趣的:(Android)