一.Canvas的常用操作

操作类型 相关API 备注
绘制基本形状 drawPoint, drawPoints, drawLine, drawLines, drawRect, drawRoundRect, drawOval, drawCircle, drawArc 依次为 点、线、矩形、圆角矩形、椭圆、圆、圆弧
绘制图片 drawBitmap, drawPicture 绘制位图和图片

1. drawArc 圆弧

Canvas中提供了drawArc方法用于绘制弧,这里的弧指两种:弧面和弧线,弧面即用弧围成的填充面,弧线即为弧面的轮廓线。

用drawArc画的弧指的是椭圆弧,即椭圆的一部分。如果椭圆的长轴和和短轴相等,我们就可以用drawArc方法绘制圆弧。其方法是:

public void drawArc (RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint)
  • oval:RecF类型的对象,其定义了椭圆的形状

  • startAngle:绘制的起始角度,钟表的3点位置对应着0度,如果传入的startAngle小于0或者大于等于360,那么用startAngle对360进行取模后作为起始绘制角度

  • sweepAngle: 指的是从startAngle开始沿着钟表的顺时针方向旋转扫过的角度。如果sweepAngle大于等于360,那么会绘制完整的椭圆弧。如果sweepAngle小于0,那么会用sweepAngle对360进行取模后作为扫过的角度

  • useCenter:boolean值,如果为true,表示在绘制完弧之后,用椭圆的中心点连接弧上的起点和终点以闭合弧;如果值为false,表示在绘制完弧之后,弧的起点和终点直接连接,不经过椭圆的中心点

Android Canvas画图形(更新中)相关推荐

  1. android canvas画渐变背景,View绘制系列(13)-Canvas渐变属性绘制

    Canvas渐变属性绘制 五颜六色,七彩缤纷.有时候我们的UI设计稿也极尽色彩之能,比如下图这样: 这种渐变效果我们能画吗?不得不说,Android系统的基础构架还是很强大的,我们可以使用Linear ...

  2. Android开发学习持续更新中

    Android开发 单个Activity界面内的操作 控件1TextView控件使用 控件2Button控件使用 1首先对于android的按键格式 2对按键监听事件进行绑定 控件3EditText文 ...

  3. android canvas画圆角,android – 绘制具有圆角的LinearLayout

    我试图实现一个LinearLayout子类,它使用圆角绘制自己.从我的研究中,我设置setWillNotDraw(false)并覆盖onDraw()在画布中绘制一个圆角矩形: @Override pr ...

  4. 【Android 应用开发】 Android 相关代码规范 更新中 ...

    . 简介 : Android 常用的代码结构, 包括包的规范, 测试用例规范, 数据库模块常用编写规范; 参考 : 之前写的一篇博客  [Android 应用开发] Application 使用分析  ...

  5. Android大事记(不断更新中)

    Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备.目前尚未有统一中文名称,中国大陆地区较多人使用安卓(非官方)或安致(官方). Android操作系统最初由Andy Rub ...

  6. android canvas 画按钮,Android 用Canvas轻松绘制一个时钟

    接下来这篇文章主要是结束如何轻松自定义一个View并使用Canvas绘制一个时钟的案例,话不多说先上图瞅瞅,一共实现了两种效果,一种是秒动(秒针一秒走一针).另一种是连动式的,秒针不会停会一直走动,话 ...

  7. android canvas 画圆边缘模糊,Android canvas画圆

    布局 android:id="@+id/ballView2" android:layout_width="match_parent" android:layou ...

  8. 使用canvas画图形

    参考文档: https://developer.mozilla.org/zh-CN/docs/Web/API/Canvas_API/Tutorial/Using_images 图形效果: 代码实现: ...

  9. Android pm命令(持续更新中...)

    # adb shell pm uninstall -k --user 0 包名 //adb 删除系统应用 # adb shell am start -n 包名/包名.活动名 //adb运行apk # ...

最新文章

  1. python怎么修改while循环类型_python 的for与while 的i改变
  2. 关于localStorage和sessionStorage存储用法的一些细节说明----------localStorage和sessionStorage存储必须字符串化...
  3. LeetCode 868. 二进制间距(位运算)
  4. golang 导入自定义包_二、Go基本命令及定制自定义第三方包
  5. python可以管理操作系统吗_python之路——操作系统的发展史
  6. 关于IIS不能浏览ASP网页 和不能浏览后台(转)
  7. C++/OpenGL 入门(1):关于VS2017 中OpenGL部分安装过程
  8. solidworks_adams_simuilink联合仿真简易教程
  9. vue代码如何跟后端代码结合_阿里云服务器优惠购买教程,可获得800元代金券,云服务器仅需82元/年_学云网...
  10. 重置计算机的本地策略,Win10怎样重置组策略/安全策略|Win10重置组策略/安全策略教程...
  11. unity实现前后左右移动代码_Unity实现物体左右移动效果
  12. 还在纠结用H264还是H265?大家早就在把VP9和H265作比较啦!
  13. pythondocx_python docx文档转html页面
  14. 公司不让使用XShell破解版后,我准备用这种方式!
  15. 如何下载金融街街道卫星地图高清版大图
  16. 为评职称!走捷径花钱发论文?骗你没商量!
  17. 达梦数据库自动备份,DM8设置自动备份,达梦数据库,自动备份。详细步骤。常用命令,启动关闭数据库,查看DMAP状态
  18. Fastjson1.2.47版本远程命令执行漏洞
  19. 【笔记】教学理论与教学模式、教学方法的区别于联系
  20. 2022年-年度规划-个人家庭篇

热门文章

  1. VMware虚拟机在仅主机模式下的网卡无法动态获取IP
  2. 局域网传输文件的一点研究
  3. Linux 各文件系统配置
  4. iOS蓝牙开发CoreBluetooth快速入门
  5. UnityShader之Shader格式篇【Shader资料1】
  6. mysql中find_in_set结合GROUP_CONCAT使用
  7. [转]你不需要jQuery
  8. [原]FreeSWITCH uuid_transfer both转移失败(三方通话),如何解决?
  9. MyEclipse中消除frame引起的“the file XXX can not be found.Please check the location and try again.”的错误...
  10. jQuery_事件学习