Android面试收集录 2D绘图与动画技术

吾生也有涯,而知也无涯。这篇文章主要讲述Android面试收集录 2D绘图与动画技术相关的知识,希望能为你提供帮助。
 
1.如何在android应用程序的窗口上绘制图形?

  • 继承View
  • 实现View中的onDraw()方法
【Android面试收集录 2D绘图与动画技术】 
2.如何绘制圆,空心椭圆?
  • canvas.drawArc或canvas.drawCircle方法 绘制圆
  • canvas.drawArc(矩形对象,0,360,true,paint);
 
3.绘制位图的两种方法?
  • 法1:canvas.drawBitmap(bitmap,10,10,null);   //在画布上画图 
  • 法2:drawable.draw(canvas);   //把图粘贴到画布上
 
4.如何设置图像的透明度?
  • paint.setAlpha(99);
 
5.如何旋转图形?
  • Matrix matrix=new Matrix();
  • matrix.setRotate(120,坐标1,坐标2); //按照坐标旋转120度
  • canvas.setMatrix(matrix);
 
6.如何用View实现动画效果?
  • 通过调用View.invalidate方法使手机屏幕不断刷新
 
7.请描述一下Android SDK的绘画API支持哪几种路径?
  • CornerPathEffect类:将线段与线段之间的夹角转换成圆角。
  • DashPathEffect类:该类用于绘制虚线路径。
  • PathDashPathEffect类:该类可以单独组成虚线路径。
  • ComposePathEffect类:该类可以将两种特效组合在一起。
 
8.如何实现文字呈现一个圆形显示?
  • 使用canvas.drawTextOnPath("文字",path,-55,0,paint);
 
9.如何控制帧动画的循环?
  • 静态配置:在帧动画文件中设置android:oneshot属性
  • 动态配置:使用AnimationDrawable.setOneshot方法
 
10.Android SDK 支持哪几种补间动画?
  • 移动补间动画
  • 旋转补间动画
  • 缩放补间动画
  • 透明度补间动画
 
11.如何自定义动画渲染器?
  • 自定义类实现Interpolator接口
  • 使用Animation来配合调用该渲染器
  • 注意:自定义渲染器是无法通过XML文件中android:interpolator属性来指定的。
 

    推荐阅读