欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android开发之图形图像与动画(一)Paint和Canvas类学习

程序员文章站 2023-11-28 23:23:40
paint类 *paint类代表画笔,用来描述图形的颜色和风格,如线宽,颜色,透明度和填充效果等信息。 *使用paint类时,需要先创建该类的对象,可以通过该类的构造函数实...
paint类
*paint类代表画笔,用来描述图形的颜色和风格,如线宽,颜色,透明度和填充效果等信息。
*使用paint类时,需要先创建该类的对象,可以通过该类的构造函数实现。通常情况的实现代码是:
*paintpaint=newpaint();
*创建完paint对象后,可以通过该对象提供的方法对画笔的默认设置进行改变
canvas
*canvas类代表画布,通过该类提供的构造方法,可以绘制各种图形。
*通常情况下,要在android中绘图,需要先创建一个继承自view类的视图,并且在该类中重写它的ondraw方法,
*然后在显示绘图的activity中添加该视图
Android开发之图形图像与动画(一)Paint和Canvas类学习 
实现此实例的xml文件的定义如下:
复制代码 代码如下:

<framelayoutxmlns: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=".draw_view"
>
<textview
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"/>
<com.example.draw_view.drawview
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</framelayout>

实现的源代码如下:
复制代码 代码如下:

publicclassdrawviewextendsview{
publicdrawview(contextcontext,attributesetattrs){
super(context,attrs);
//todoauto-generatedconstructorstub
}
@override
protectedvoidondraw(canvascanvas){
//todoauto-generatedmethodstub
super.ondraw(canvas);
paintpaint=newpaint();
paint.setcolor(color.red);
paint.setshadowlayer(2,3,3,color.rgb(180,180,180));
canvas.drawrect(40,40,200,100,paint);
}

}