吾生也有涯,而知也无涯。这篇文章主要讲述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属性来指定的。
推荐阅读
- 在C#的控制台应用中使用Dapper链接MySQL并执行一些增删改查
- vector android:fillType gradient android:endX attribute not found
- [Android Pro]深入理解函数的调用过程——栈帧
- android 自定义Button,抛弃写shape文件
- 安卓开发打造闪光控件效果
- Android面试收集录 电话短信和联系人多媒体技术
- Android Studio 第六十期 - Android推流直播(斗鱼部分页面功能)
- android studio环境搭建笔记
- [Android Pro]ESP和EBP 栈顶指针和栈底指针