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面试收集录16 Android动画总结
一.Android 动画分类 总的来说,Android动画可以分为两类,最初的传统动画和Android3.0 之后出现的属性动画: 传统动画又包括 帧动画(Frame Animation)和补间动画( ...
- Android面试收集录 Android入门
1.Android的特点有哪些? 编程语言是Java或Kotlin,Android中的Java字节码是允许在Dalvik虚拟机上的 支持4大组件 Android内置了WebKit核心的浏览器,支持H5 ...
- Android面试收集录 Android组件
1.请说出Android SDK支持哪些方式显示富文本信息? 使用TextView组件可以显示富文本信息,如果要实现图文混排,需实现ImageGetter接口 使用WebView组件显示HTML页面 ...
- Android面试收集录6 事件分发机制
转自:秋招面试宝典. 一. 基础认知 1.1 事件分发的对象是谁? 答:事件 当用户触摸屏幕时(View或ViewGroup派生的控件),将产生点击事件(Touch事件). Touch事件相关细节(发 ...
- Android面试收集录 Android系统的资源+其他
1.Android应用程序的资源是如何存储的,如何使用? res文件夹或者assets文件夹 res目录中的资源在R类中生成一个int变量,然后再布局文件中可以直接使用,在代码中,要getResour ...
- Android面试收集录 电话、短信和联系人、多媒体技术
1.请写出调用系统拨号界面? Intent intent=new Intent(Intent.ACTION_DIAL,Uri.pase("tel:12345678910")); s ...
- Android面试收集录 网络与加密
1.创建Socket对象需要至少指定哪些信息? IP(或域名)和端口号 Socket socket=new Socket("www.baidu.com",80); 2.如何使用So ...
- Android面试收集录 数据库
1.SQLite数据库如何查询表table1的第20条到30条记录? select * from table1 limit 19,11 ==>从19开始,11个数据 2.如何才能将table ...
- Android面试收集录 文件存储
1.请描述Android SDK支持哪些文件存储技术? 使用SharePreferences保存key-value类型的数据 流文件存储(openFileOutput+openFileInput或Fi ...
随机推荐
- Django Request 与Response对象
Django使用请求和响应对象在系统中传递状态.当请求页面时,Django创建一个HttpRequest对象,该对象包含关于请求的元数据. 然后Django加载适当的视图,将HttpRequest作为 ...
- NodeJS服务器端平台实践记录
[2015 node.js learning notes]by lijun 01-note Nodejs是服务器端的javascript,是一种单线程.异步I/O.事件驱动型的javascript:其 ...
- Android(java)学习笔记41:Map集合功能概述
1. 下面通过代码引入Map集合: 如下 package cn.itcast_01; import java.util.HashMap; import java.util.Map; /* * 作为学生 ...
- BZOJ4066:简单题(K-D Tree)
Description 你有一个N*N的棋盘,每个格子内有一个整数,初始时的时候全部为0,现在需要维护两种操作: 命令 参数限制 内容 1 x y A 1<=x,y<=N,A是正整数 ...
- 效率对比:各种语言构造100W个时间对象
原本是用perl写了一个通过给定的时间范围来筛选一个比较大的日志文件.但是测试发现筛选130W行日志需要2分多钟,对其中几个低效率函数单独进行了效率测试,发现构造100W个时间对象所花时间也是个大户. ...
- Windows 备用数据流(ADS)的妙用___转载
NTFS交换数据流(Alternate Data Streams,简称ADS)是NTFS磁盘格式的一个特性,在NTFS文件系统下,每个文件都可以存在多个数据流.通俗的理解,就是其它文件可以“寄宿”在某 ...
- 论文笔记:Progressive Differentiable Architecture Search:Bridging the Depth Gap between Search and Evaluation
Progressive Differentiable Architecture Search:Bridging the Depth Gap between Search and Evaluation ...
- intellij idea下载安装以及创建项目(输出Hello World)
主题一:下载 第一:可以百度下载 第二:直接进行官网链接下载地址:http://www.jetbrains.com/idea/ 第一步: 第二步: 下载完成后进行安装 主题二:安装 点击Next速度可 ...
- json 二进制传输方案
json 传输二进制数组方案 json 是一种很简洁的协议,但可惜的是,它只能传递基本的数型(int,long,string等),但不能传递byte类型.如果想要传输图片等二进制文件的话,是没办法直接 ...
- python—迭代器
迭代器 这些可以直接作用于for循环的对象统称为可迭代对象:Iterable. 可以使用isinstance()判断一个对象是否是Iterable对象: >>> from colle ...