1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2D绘图

这部分在书的第4章第1节,使用了android.graphics包中提供的二维图形库。在这个包中有几个基本的类,它们是: ? 1. Color类 ?? ? ?Android中的颜色用四个数字表示,透明度、红、绿、蓝(ARGB)各占一个数字。每个数字8bit(0-255)。Alpha值为0时完全透明。为了提高效率,Android代码使用整数而不是Color类的实例来表示颜色。 ? 创建color对象的方法:(需要import android.graphics.Color;) (1)使用静态常量: ?? ? ? ?int color = Color.BLUE; (2)使用静态工厂(已知ARGB值): ?? ? ? ?int color = Color.argb(A, R, G, B); (3)使用XML资源文件: ?? ? ? ?定义颜色: ?? ? ? ??xml version=1.0 encoding=utf-8? ?? ? ? ?resources ?? ? ? ? ? ? color name=mycolor#7fff00ff/color ?? ? ? ?/resources ?? ? ? ?在Java代码中调用: ?? ? ? ?int color = getResource().getColor(R.color.mycolor);//返回mycolor的资源ID ? 2. Paint类 ?? ? ?Paint类包含图形的样式、颜色以及绘制任何图形(包括位图、文本和几何图形)所需的其他信息。例如使用某种颜色在屏幕上绘图: ?? ? ???import android.graphics.Color; ?? ? ? ?import android.graphics.Paint; ?? ? ? ?... ?? ? ? ?Paint cPaint = new Paint();//构造Paint实例 ?? ? ? ?cPaint.setColor(Color.BLUE);//使用蓝色绘图 ?? ? ? ?... ? 3. Canvas类 ?? ? ?Canvas意为“帆布”,这里我们可以理解为绘图所用的画布。使用Canvas类提供的各种方法可以在画布上绘制线条、举行、圆以及其他可绘制图形。在Android中,屏幕是由Activity类的对象支配的,Activity类的对象引用View类的对象,而View类的对象又引用Canvas类的对象。通过重写View.onDraw()方法,可以在制定的画布上绘图。onDraw()方法唯一的参数就是制定在那个Canvas实例上绘图。 ?? ? ?下面是一个重写onDraw()方法的例子。 ? ?? ? ???import android.app.Activity; ?? ? ???import android.os.Bundle; ?? ? ???import android.view.*; ?? ? ???import android.content.*; ?? ? ???import android.graphics.Canvas; ? ?? ? ???public class Hello extends Activity { ?? ? ????? ?@Override ?? ? ????? ?public void onCreate(Bundle savedInstanceState) { ?? ? ????? ? ? ?super.onCreate(savedInstanceState); ??? ? ???? ? ? ?setContentView(new GraphicsView(this)); ?? ? ????? ?} ? ??? ? ???? ?static public class GraphicsView extends View { ???? ? ?????????public GraphicsView(Context context) { ??? ? ???? ?????? ??super(context); ???? ? ??????? ??? ?Canvas canvas1 = new Canvas();//新建一个画布 ?? ? ???????? ??? ??onDraw(canvas1);//在画布canvas1上绘制 ?? ? ???????? ??? ??setBackgroundResource(R.drawable.background);//添加XML渐变背景 ?? ??? ? ???? ??} ? ?? ? ????? ??? ?@Override ? ?? ? ????? ??? ?public void onDraw(Canvas canva

文档评论(0)

sd44055 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档