Android学习笔记09:Paint及Canvas的简单应用
2019独角兽企业重金招聘Python工程师标准>>>
Android学习笔记09:Paint及Canvas的简单应用
在Android中需要通过graphics类来显示2D图形。
graphics中包括了Canvas(画布)、Paint(画笔)、Color(颜色)、Bitmap(图像)等常用的类。graphics具有绘制点、线、颜色、2D几何图形、图像处理等功能。
1.Color(颜色)类
Android系统中颜色的常用表示方法有以下3种:
(1)int color = Color.BLUE;
(2)int color = Color.argb(150,200,0,100);
(3)在xml文件中定义颜色;
在实际应用当中,我们常用的颜色有以下一些,其颜色常量及其表示的颜色如下所示:
Color.BLACK 黑色 Color.GREEN 绿色
Color.BLUE 蓝色 Color.LTGRAY 浅灰色
Color.CYAN 青绿色 Color.MAGENTA 红紫色
Color.DKGRAY 灰黑色 Color.RED 红色
Color.YELLOW 黄色 Color.TRANSPARENT 透明
Color.GRAY 灰色 Color.WHITE 白色
2.Paint(画笔)类
要绘制图形,首先得调整画笔,按照自己的开发需要设置画笔的相关属性。Pain类的常用属性设置方法如下:
setAntiAlias(); //设置画笔的锯齿效果
setColor(); //设置画笔的颜色
setARGB(); //设置画笔的A、R、G、B值
setAlpha(); //设置画笔的Alpha值
setTextSize(); //设置字体的尺寸
setStyle(); //设置画笔的风格(空心或实心)
setStrokeWidth(); //设置空心边框的宽度
getColor(); //获取画笔的颜色
3.Canvas(画布)类
画笔属性设置好之后,还需要将图像绘制到画布上。Canvas类可以用来实现各种图形的绘制工作,如绘制直线、矩形、圆等等。Canvas绘制常用图形的方法如下:
绘制直线:canvas.drawLine(float startX, float startY, float stopX, float stopY, Paint paint);
绘制矩形:canvas.drawRect(float left, float top, float right, float bottom, Paint paint);
绘制圆形:canvas.drawCircle(float cx, float cy, float radius, Paint paint);
绘制字符:canvas.drawText(String text, float x, float y, Paint paint);
绘制图形:canvas.drawBirmap(Bitmap bitmap, float left, float top, Paint paint);
4.自定义View的基本实现方法
首先,我们需要自定义一个类,比如MyView,继承于View类。然后,复写View类的onDraw()函数。最后,在onDraw()函数中使用Paint和Canvas对象绘制我们需要的图形。
转载于:https://my.oschina.net/u/1866821/blog/364604
Android学习笔记09:Paint及Canvas的简单应用相关推荐
- Android学习笔记:Android基础知识点(不断更新中)
1.Android学习笔记:OkHttp 2.Android学习笔记:更新UI的方法(UI线程和非UI线程) 3.Android学习笔记:Volley 4.Android学习笔记:Handler 5. ...
- Android学习笔记之在图片特效
1.涂鸦(能清屏) HandWritingActivity.java [java] view plaincopy package xiaosi.handWriting; import android. ...
- Android学习笔记21:ImageView获取网络图片
Android平台有3种网络接口可以使用,它们分别是:java.net.*(标准java接口).org.apache(Apache接口)和android.net.*(Android网络接口).本文将使 ...
- Android学习笔记(七):多个Activity和Intent
根据www.mars-droid.com:Andriod开发视频教学,先跳过书本<Beginning Android 2>的几个章,我是这两个资源一起看,需要进行一下同步.先初步了解一下应 ...
- Android学习笔记26:图片切换控件ImageSwitcher的使用
在Windows操作系统中,要查看多张图片,可以通过使用"Windows照片查看器"在"上一张"和"下一张"之间切换,进行多张图片的浏览. ...
- JavaWeb黑马旅游网-学习笔记09【旅游线路收藏】
Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...
- Android学习笔记36:使用SQLite方式存储数据
在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...
- Pro Android学习笔记(二九):用户界面和控制(17):include和merge
xml控件代码重用:include 如果我们定义一个控件,需要在不同的layout中重复使用,或者在同一个layout中重复使用,可以采用include的方式.例如定义my_button.xml如下 ...
- 【EF学习笔记09】----------使用 EntityState 枚举标记实体状态,实现增删改查
[EF学习笔记09]----------使用 EntityState 枚举标记实体状态,实现增删改查 讲解之前,先来看一下我们的数据库结构:班级表 学生表 如上图,实体状态由EntityState枚举 ...
最新文章
- mysql备份策略的制定
- 计算机硬件市场调查清单,微型计算机组装与维护实用教程王际川第8章节组装计算机.ppt...
- L1为什么具有稀疏性
- q7goodies事例_Java 8 Friday Goodies:Lambda和排序
- python安装与使用Ta-Lib,获取金融技术面特征
- java下载txt文本文件
- linux静态和动态路由英文,静态路由和动态路由的特点
- vue solt 属性浅析
- linux 编写sh文件,linux编写shell脚本程序one官方
- Navicat Premium11连接Oracle出现ORA-28547:connection to server failed
- 车位编号lisp_CAD自动编号操作
- TensorFlow北大公开课学习笔记-4.3滑动平均
- CSS实现简单的3D旋转魔方
- macOS Command - softwareupdate
- mysql日期转为周数
- 位 bit、字节 B Byte、M兆、MB
- Cross_entropy和softmax
- yum报Exiting on user cancel
- 如何解决独立站多渠道客户沟通难题?这款跨境电商插件一定要知道!
- 提高ubuntu下访问github的速度
热门文章
- MQTT工作笔记0004---CONNECT控制报文1
- SpringCloud工作笔记049---nginx的安装及配置为简单的文件服务器
- DataBseDesign工作笔记005---将excel中的表导入到powerdesigner中
- android开发之AsyncTask的用法
- akka mysql_Spray + Akka高性能异步IO并发
- 如何在ps添加箭头_如何利用Word制作出这么漂亮的表格
- android 百度室内地图开发,androidsdk | 百度地图API SDK
- linux非root用户搭建docker,linux centos7 非root用户安装源码版docker
- mysql 2003 10038_关于MySql10038错误的完美解决方法(三种)
- java 异常_学习Java,你需要知道这些Java异常