移动商城156绘制简单的图形-使用Canvas绘制简单图形_第1页
移动商城156绘制简单的图形-使用Canvas绘制简单图形_第2页
移动商城156绘制简单的图形-使用Canvas绘制简单图形_第3页
移动商城156绘制简单的图形-使用Canvas绘制简单图形_第4页
移动商城156绘制简单的图形-使用Canvas绘制简单图形_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实训Android北京电子科技职业学院1项目准备首页的实现商品列表与商品详情功能主页与引导页实现登录功能本地收藏夹功能项目扩展2345726项目技能点环境安装使用外部类的方式实现监听事件菜单资源Activity失去焦点AndroidStudio开发环境的使用创建FragmentToolBarActivity重新获得焦点ActivityFragment的生命周期AndroidStudio关闭Activity使用字符串资源Fragment与ViewPagerAndroid虚拟机(AVD)Activity间信使intent使用颜色资源RadioButton运行Android应用程序使用Intent传递数据使用dimen资源ViewPager导航AndroidMonitor利用Intent对象传递可序列化对象使用drawables(vector)和mipmap资源选择器资源的使用ADB从其他Activity返回数据使用代码创建布局SQLite数据库CURD操作源代码获取Activity返回值RelativeLayout相对布局Cursor、Adapter向界面绑定数据对话框资源AndroidLogCatLinearLayout线性布局访问系统ContentProvider项目管理文件AndroidStudio布局编辑器ImageView图片视图LIstView优化Activity的生命周期

ListView列表组件Spinner控件Activity开始

7项目扩展技能点:绘制简单图形关于2D绘图

AndroidSDK支持基本的2D绘图功能,例如绘制一个点、直线、圆弧、圆、多边形、文本等基本图形,另也支持绘制旋转图像、设置图像透明度等功能。自定义View步骤:1.测量——onMeasure():决定View的大小2.布局——onLayout():决定View在ViewGroup中的位置3.绘制——onDraw():如何绘制这个View。Measure()与MeasureSpecMeasure的作用就是测量View的大小。而决定View的大小只需要两个值:宽

详细

测量值(widthMeasureSpec)和高

详细

测量值(heightMeasureSpec)。也可以把详细测量值理解为视图View想要的大小说明measureSpec表示详细测试值protected

void

onMeasure(intwidthMeasureSpec,intheightMeasureSpec){setMeasuredDimension(getDefaultSize(getSuggestedMinimumWidth(),widthMeasureSpec),getDefaultSize(getSuggestedMinimumHeight(),heightMeasureSpec));}

Paint类

和日常绘图一样,要绘制图形,首先得选择合适的画笔。那么同理android中绘图首先得调整画笔,按照自己的需要设置画笔的相关属性,系统给我提供的常用API如下:

setColor();//设置画笔的颜色

setAntiAlias();//设置画笔的锯齿效果

setARGB();//设置画笔的A、R、G、B值

setAlpha();//设置画笔的Alpha值

setTextSize();//设置字体的尺寸

setStyle();//设置画笔的风格(空心或实心)

setStrokeWidth();//设置空心边框的宽度

getColor();//获取画笔的颜色Canvas类在Android中绘制任何图形都需要在Canvas上进行,而要使用Canvas就必须使用View.onDraw()方法完成绘制工作,因此需要我们编写一个继承自View的类,并覆盖onDraw()方法。Canvas类Canvas即画布,我们需要做的就是使用之前设置好的Paint来绘制图形。那么我们先看看系统给我们提供的方法:drawPoint(floatx,floaty,Paintpaint);绘制一个像素点canvas.drawLine(floatstartX,floatstartY,floatstopX,floatstopY,Paintpaint);//绘制直线

canvas.drawRect(floatleft,floattop,floatright,floatbottom,Paintpaint);//绘制矩形

canvas.drawCircle(floatcx,floatcy,floatradius,Paintpaint);//绘制圆

canvas.drawArc(floatcx,floatcy,floatradius,Paintpaint);//绘制弧形、和扇形

canvas.drawText(Stringtext,floatx,floaty,Paintpaint);//绘制字符

canvas.drawBitmap(Bitmapbitmap,floatleft,floattop,Paintpaint);//绘制Bitmap

绘制像素点绘制像素点使用drawPoint()或drawPoints()方法publicvoiddrawPoint(floatx,floaty,Paintpaint);绘制一个像素点publicvoiddrawPoints(float[]pts,intoffset,intcountPaintpaint);绘制多个像素点publicvoiddrawPoints(float[]pts,Paintpaint);绘制多个像素点参数含义:x:像素点的横坐标;y:像素点的纵坐标。paint:描述像素点属性的Paint对象,即设置点的大小、颜色等属性。pts:多个像素点的坐标数组;必须为偶数,两个为一个像素点坐标。offset:取pts数组内的坐标,通过offset指定所取元素的第一个元素位置。count:要获得的数组元素个数;必须为偶数。绘制直线绘制直线使用drawLine()或drawLines()方法;publicvoiddrawLine(float

startX,

float

startY,

float

stopX,

float

stopY,

Paint

paint);

绘制一条直线publicvoiddrawLines(float[]

pts,

intoffset,intcount,

Paint

paint);绘制多条直线publicvoiddrawLines(float[]

pts,

Paint

paint);

绘制多条直线参数含义:startX:直线开始端点的横坐标;startY:直线开始端点的纵坐标。stopX:直线结束端点的横坐标;stopY:直线结束端点的纵坐标。pts:绘制多条直线时的端点坐标集合,4个元素为一组,表示一条直线。Offset:pts数组中元素的偏移量。count:获取pts数组中元素的个数;参数值为4的整数倍。绘制圆形绘制圆形使用drawCircle()方法;publicvoiddrawCircle(floatcx,floatcy,floatradius,Paintpaint);

参数含义:cx:圆心的横坐标cy:圆心的纵坐标radius:圆的半径绘制圆弧绘制圆弧使用drawArc()方法;publicvoiddrawArc(RectFoval,floatstartAngle,floatsweepAngle,BooleanuseCenter,Paintpaint);参数含义:oval:弧的外切矩形坐标startAngle:弧的起始角度sweepAngle:弧的结束角度,如果参数值大于360,drawArc即画的一个圆或椭圆。useCenter:如果此参数为true,在画弧时,其两个端点连接圆心;反之,只画弧绘制文本绘制文本使用drawTextpublicvoid

drawText(String

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论