从零开始学android<android基本绘图.四十六.>
来源:互联网 发布:软件测试零基础 编辑:程序博客网 时间:2024/05/21 09:29
在一般的图形绘制中用户往往只需要覆写onDraw()方法即可,可是如果要想真正的完成绘图的操作,还需要掌握四个核心的操作类:
android.graphics.Bitmap:主要表示的是一个图片的存储空间,所包含的图片可以来自于文件或由程序创建;
android.graphics.Paint:主要的绘图工具类,可以指定绘图的样式;
android.graphics.Canvas:是一个操作绘图以及Bitmap的平台,相当于提供了一个画板的功能,在onDraw()方法的参数中也定义了此类型的参数,可以依靠此类完成具体的绘图操作;
android.graphics.drawable.Drawable:绘制图形的公共父类,可以绘制各种图形、图层等。
自定义MyView组件
<span style="font-size:18px;"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <com.example.paintpic.MyView android:id="@+id/Myview" android:layout_width="wrap_content" android:layout_height="wrap_content"></com.example.paintpic.MyView></LinearLayout></span>
主界面
<span style="font-size:18px;">package com.example.paintpic;import android.os.Bundle;import android.app.Activity;import android.view.Menu;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }</span>
MyView设置
<span style="font-size:18px;">package com.example.paintpic;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.RectF;import android.util.AttributeSet;import android.view.View;public class MyView extends View {public MyView(Context context, AttributeSet attrs) {super(context, attrs);// TODO Auto-generated constructor stub}@Overrideprotected void onDraw(Canvas canvas) {// TODO Auto-generated method stub// canvas是画板对象,背景是白色的canvas.drawColor(Color.WHITE);// paint画笔工具Paint paint = new Paint();// 设置画笔颜色为蓝色paint.setColor(Color.BLUE);// 为画板上画圆,圆心(50,50)半径50canvas.drawCircle(50, 50, 50, paint);// 设置画笔颜色的颜色为红色paint.setColor(Color.RED);// 画矩形canvas.drawRect(100, 0, 160, 80, paint);// 画笔颜色为绿色paint.setColor(Color.GREEN);// 画直线canvas.drawLine(50, 110, 200, 110, paint);paint.setColor(Color.YELLOW);// Rect rect=new Rect(120, 120, 300, 300);// canvas.drawRect(rect, paint);// 使用RectF画多边形RectF oval = new RectF();oval.set(10.0f, 140.0f, 110.0f, 200.0f);canvas.drawOval(oval, paint);oval = new RectF();oval.set(150.0f, 140.0f, 210.0f, 200.0f);canvas.drawArc(oval, 150.0f, 140.0f, true, paint);}}</span>
使用Canvas和point组件可以绘制出各种各样的图形,多用于游戏的开发,感兴趣的朋友可以自己了解下
下节预报:bitmap图形组件
0 0
- 从零开始学android<android基本绘图.四十六.>
- 从零开始学android--sqllit基本操作
- 从零开始学android:Android中的基本控件(上)
- 从零开始学Android
- 从零开始学Android - 引子
- 从零开始学Android.1
- 从零开始学android
- 从零开始学android:认识Android
- 从零开始学Android之XML
- 从零开始学Android之Activity
- 从零开始学Android之TextView
- 从零开始学Android之TextView
- 从零开始学Android之XML
- 从零开始学android:环境搭建
- 从零开始学android:环境搭建
- 从零开始学Android (1)
- 从零开始学Android (2)
- 从零开始学Android (3)
- OpenSessionInViewFilter 的配置及替代方案
- 导入txt文件到SQL SERVER 2008
- android 如何连真机测试
- windows钩子函数
- Unity(1) 编辑器结构
- 从零开始学android<android基本绘图.四十六.>
- oozie 常用标签 -- coordinator.xml
- 每天学习一算法系列(7) (根据上排给出十个数,在其下排填出对应的十个数)
- 四个程序员的一天 【转载】
- android项目解刨之时间轴
- hdu1242
- [Django] 查看orm自动执行的原始查询sql
- CodeVs 数的计算;
- 黑马程序员_java语言基础