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

Posted Jason_Jan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android面试收集录 2D绘图与动画技术相关的知识,希望对你有一定的参考价值。

 

1.如何在android应用程序的窗口上绘制图形?

  • 继承View
  • 实现View中的onDraw()方法

 

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属性来指定的。

 

以上是关于Android面试收集录 2D绘图与动画技术的主要内容,如果未能解决你的问题,请参考以下文章

Android面试收集录 电话短信和联系人多媒体技术

Android面试收集录17 Android进程优先级

Android面试收集录11 Window+Activity+DecorView+ViewRoot之间的关系

Android 面试收集录5 消息机制

Android面试收集录2 Broadcast Receiver详解

Android面试收集录9 IntentService详解