开始时之前想吐槽一句。。iphone的闹钟,12小时制。我成功的把闹钟订到了下午5:00 导致错过一班飞机。心疼改签费。

候机ing,没有事做,来写一下学习自定义view必须掌握的基本函数。这里只挑一些常用的进行讲解。

首先 往Canvas上面draw需要一个Paint。 画笔常用的函数有哪些呢。由于木有调试环境,函数基本上默写,有错请评论提出,蟹蟹!

Paint p = new Paint();
//设置画笔的颜色
p.setColor(Color.parseColor("#2EA4F2"));
//设置画笔的风格:全部填充FILL 只画轮廓STROKE
p.setStyle(Paint.Style.STROKE);
//设置画笔的宽度
p.setStrokeWidth(8);
//设置是否抗锯齿
p.setAntiAlias(true);
//设置文字大小
p.setTextSize(30);
//测量字符串的长度
p.MeasureText("Hello World");

当我们有了画笔后,就可以绘制基本图形。

线

//绘制一条从0,0到100,100的线
canvas.drawLine(0,0,100,100,p);

三角形&多边形

是用Path类实现的。Path类提供了点绘制线的功能,看例子

path.MoveTo(0,0);//给定path的起点
path.LineTo(10,10);//往10,10绘制一条路径
path.LineTo(5,3);//继续从10,10往5,3绘制一条路径
path.close;//将绘制的线形成封闭空间
canvas.drawPath(path,p);

矩形

//画一个矩形,左上角的坐标为0,0   右下角的坐标为100,50
canvas.drawRect(0,0,100,50,p);

圆角矩形

//一个矩形
RectF rectF = new RectF(0,0,100,50);
//画一个圆角矩形,大小为rectF,20,20分表表示左边圆角的半径和右边圆角的半径
canvas.drawRoundRect(RectF,20,20,p);

圆形

//画一个圆,圆心为50,50  半径为100
canvas.drawCircle(50,50,100,p);

弧形   注意这里第二个参数,是从三点钟方向为0°计算,所以想从12点中方向开始绘制,那么就是270°。第四个参数是决定是否经过圆心(自己改变一下这个参数就知道区别了)。

//画一个弧,弧所在矩形为rectF  从270°开始,画90° 不经过圆心
canvas.drawArc(rectF,270,90,false,p);

以上基本上是自定义view所用到的最基本的函数,欢迎补充。

关于Android自定义view 你所需要知道的基本函数的更多相关文章

  1. Android自定义View 画弧形,文字,并增加动画效果

    一个简单的Android自定义View的demo,画弧形,文字,开启一个多线程更新ui界面,在子线程更新ui是不允许的,但是View提供了方法,让我们来了解下吧. 1.封装一个抽象的View类   B ...

  2. (转)[原] Android 自定义View 密码框 例子

    遵从准则 暴露您view中所有影响可见外观的属性或者行为. 通过XML添加和设置样式 通过元素的属性来控制其外观和行为,支持和重要事件交流的事件监听器 详细步骤见:Android 自定义View步骤 ...

  3. Android 自定义View合集

    自定义控件学习 https://github.com/GcsSloop/AndroidNote/tree/master/CustomView 小良自定义控件合集 https://github.com/ ...

  4. Android 自定义View (五)——实践

    前言: 前面已经介绍了<Android 自定义 view(四)-- onMeasure 方法理解>,那么这次我们就来小实践下吧 任务: 公司现有两个任务需要我完成 (1)监测液化天然气液压 ...

  5. Android 自定义 view(四)—— onMeasure 方法理解

    前言: 前面我们已经学过<Android 自定义 view(三)-- onDraw 方法理解>,那么接下我们还需要继续去理解自定义view里面的onMeasure 方法 推荐文章: htt ...

  6. Android 自定义 view(三)—— onDraw 方法理解

    前言: 上一篇已经介绍了用自己定义的属性怎么简单定义一个view<Android 自定义view(二) -- attr 使用>,那么接下来我们继续深究自定义view,下一步将要去简单理解自 ...

  7. Android 自定义view(二) —— attr 使用

    前言: attr 在前一篇文章<Android 自定义view -- attr理解>已经简单的进行了介绍和创建,那么这篇文章就来一步步说说attr的简单使用吧 自定义view简单实现步骤 ...

  8. Android 自定义View

    Android 自定义View流程中的几个方法解析: onFinishInflate():从布局文件.xml加载完组件后回调 onMeasure() :调用该方法负责测量组件大小 onSizeChan ...

  9. Android自定义View之CircleView

    Android自定义View之CircleView 版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:http://www.cnblogs.com/cavalier-/p/5999 ...

随机推荐

  1. PHP 包含

    PHP 包含文件 PHP include 和 require 语句 在 PHP 中,您可以在服务器执行 PHP 文件之前在该文件中插入一个文件的内容. include 和 require 语句用于在执 ...

  2. Python pandas.io.data 模块迁移

    这段时间用pandas做数据分析, import pandas.io.data as web 然后得到下面的错误提示 "The pandas.io.data module is moved ...

  3. ROS新功能包PlotJuggler绘图

    http://www.ros.org/news/2017/01/new-package-plotjuggler.html PlotJuggler,一个基于Qt的应用程序,允许用户加载,搜索和绘图数据. ...

  4. 给大家安利一个学习angular2的视频网站

    本文地址:http://blog.csdn.net/sushengmiyan 本文作者:苏生米沿 视频地址: https://egghead.io/courses/angular-2-fundamen ...

  5. 让你的代码减少三倍!使用kotlin开发Android(五) 监听器

    本文同步自 博主的私人博客wing的地方酒馆 在前面的博客中,有一个栗子,是点击按钮转跳的监听器. button.setOnClickListener { val user = User(" ...

  6. 安卓7.1 新特性Shortcut

    介绍 Shortcut 是谷歌在API25提出来的 类似苹果3D touch 但是没有压力感应.在安卓中完全就是长按. 来看下效果吧: 是不是很赞? 那么请随本文一起学习吧 更新 新建项目 在你项目下 ...

  7. Bootstrap3 排版-缩略语

    当鼠标悬停在缩写和缩写词上时就会显示完整内容,Bootstrap 实现了对 HTML 的 <abbr> 元素的增强样式.缩略语元素带有 title 属性,外观表现为带有较浅的虚线框,鼠标移 ...

  8. 十大豪门推送sdk,哪个更适合你

    转自:http://jingyan.baidu.com/article/d621e8da0fd7042865913ff5.html 推送,使得开发者可以即时地向其应用程序的用户推送通知或者消息,与用户 ...

  9. Programming In Scala笔记-第九章、控制抽象

    本章主要讲解在Scala中如何使用函数值来自定义新的控制结构,并且介绍Curring和By-name参数的概念. 一.减少重复代码 1.重复代码的场景描述 前面定义的函数,将实现某功能的代码封装到一起 ...

  10. Swift中的"可溢出"算术运算符

    大家知道Swift中拥有和C,Objc类似的算术运算符,它们分别是: + - * / % 但是你可能不知道这些Swift中的运算符和C,Objc语言中的有一个很大的不同之处,就是它们不可以被" ...