zoukankan      html  css  js  c++  java
  • 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属性来指定的。
  • 相关阅读:
    014_Python3 循环语句
    013_Python3 条件控制
    012_Python3 斐波纳契数列 + end 关键字
    011_Python3 集合
    010_Python3 字典
    009_Python3 元组
    008_Python3 列表
    006_Python3 数字(Number)
    005_Python3 运算符
    bzoj3160
  • 原文地址:https://www.cnblogs.com/Jason-Jan/p/8550785.html
Copyright © 2011-2022 走看看