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绘图与动画技术的更多相关文章

  1. Android面试收集录16 Android动画总结

    一.Android 动画分类 总的来说,Android动画可以分为两类,最初的传统动画和Android3.0 之后出现的属性动画: 传统动画又包括 帧动画(Frame Animation)和补间动画( ...

  2. Android面试收集录 Android入门

    1.Android的特点有哪些? 编程语言是Java或Kotlin,Android中的Java字节码是允许在Dalvik虚拟机上的 支持4大组件 Android内置了WebKit核心的浏览器,支持H5 ...

  3. Android面试收集录 Android组件

    1.请说出Android SDK支持哪些方式显示富文本信息? 使用TextView组件可以显示富文本信息,如果要实现图文混排,需实现ImageGetter接口 使用WebView组件显示HTML页面 ...

  4. Android面试收集录6 事件分发机制

    转自:秋招面试宝典. 一. 基础认知 1.1 事件分发的对象是谁? 答:事件 当用户触摸屏幕时(View或ViewGroup派生的控件),将产生点击事件(Touch事件). Touch事件相关细节(发 ...

  5. Android面试收集录 Android系统的资源+其他

    1.Android应用程序的资源是如何存储的,如何使用? res文件夹或者assets文件夹 res目录中的资源在R类中生成一个int变量,然后再布局文件中可以直接使用,在代码中,要getResour ...

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

    1.请写出调用系统拨号界面? Intent intent=new Intent(Intent.ACTION_DIAL,Uri.pase("tel:12345678910")); s ...

  7. Android面试收集录 网络与加密

    1.创建Socket对象需要至少指定哪些信息? IP(或域名)和端口号 Socket socket=new Socket("www.baidu.com",80); 2.如何使用So ...

  8. Android面试收集录 数据库

    1.SQLite数据库如何查询表table1的第20条到30条记录? select * from table1 limit 19,11   ==>从19开始,11个数据 2.如何才能将table ...

  9. Android面试收集录 文件存储

    1.请描述Android SDK支持哪些文件存储技术? 使用SharePreferences保存key-value类型的数据 流文件存储(openFileOutput+openFileInput或Fi ...

随机推荐

  1. 初见git和github

    一.我的github helloworld程序的地址:https://github.com/wyf1213/wyf-project1 二.git/github的相关介绍资料 1.github是什么   ...

  2. n对mod求模整除时转化成mod的数学式

    n对mod求模,它的值在0到mod-1之间,如果要求模整除的时候转化成mod可以用下面的式子: n = (n - 1 % mod + mod) % mod +1 这里先减一,模上mod再加一,这样如果 ...

  3. Android(java)学习笔记36:Scanner类使用

    1. Scanner类使用 package cn.itcast_01; /* * Scanner:用于接收键盘录入数据. * * 前面的时候: * A:导包 * B:创建对象 * C:调用方法 * * ...

  4. BZOJ1123:[POI2008]BLO(双连通分量)

    Description Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 所有towns连通. Input 输入n&l ...

  5. 【洛谷P1083】[NOIP2012]借教室

    借教室 [题目描述] 在n天中每天有一个可以借出的教室数,有m个订单,每个订单从第l天到第r天要借用x个教室.问能否满足所有的订单,若不能,输出第一个不能满足的订单编号. 思路: 1.1 ≤ n,m ...

  6. autofac 注册

    1 注册的概念和方式 使用autofac 的ContainerBuilder 来注册组件(components---通常指实现类),并把它的服务(service---通常指接口,抽象类,类实例)暴露给 ...

  7. 微信小程序分包加载

    分包加载 某些情况下,开发者需要将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载. 在构建小程序分包项目时,构建会输出一个或多个功能的分包,其中每个分包小程序必定含有一个主 ...

  8. papers-06-02

    午睡被同事吵醒,只好干活.看到微信公众号有一篇文章说老朋友呢,点进去发现原来相关的工作好多,而且好新好细致. 微信的文章可以见这里: 探究最陌生的老朋友Softmax 里面的几篇文章可以看看. Lar ...

  9. Restrramework源码(包含组件)分析

    1.总体流程分析 rest_framework/view.py 请求通过url分发,触发as_view方法,该方法在ViewSetMixin类下 点进去查看as_view源码说明,可以看到它在正常情况 ...

  10. spring配置多个视图解析

    <!-- 配置视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceVie ...