Android图形图像与动画开发之Paint和Canvas类
* Paint类
* Paint类代表画笔,用来描述图形的颜色和风格,如线宽,颜色,透明度和填充效果等信息。
* 使用Paint类时,需要先创建该类的对象,可以通过该类的构造函数实现。通常情况的实现代码是:
* Paint paint=new Paint();
* 创建完Paint对象后,可以通过该对象提供的方法对画笔的默认设置进行改变
* Canvas
* Canvas类代表画布,通过该类提供的构造方法,可以绘制各种图形。
* 通常情况下,要在Android中绘图,需要先创建一个继承自View类的视图,并且在该类中重写它的onDraw方法,
* 然后在显示绘图的Activity中添加该视图
转自:http://blog.csdn.net/dlutbrucezhang/article/details/8542719
实现此实例的xml文件的定义如下:
<FrameLayout 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=".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>
实现的源代码如下:
public class DrawView extends View{ public DrawView(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub } @Override protected void onDraw(Canvas canvas) { // TODO Auto-generated method stub super.onDraw(canvas); Paint paint=new Paint(); paint.setColor(Color.RED); paint.setShadowLayer(2, 3, 3, Color.rgb(180, 180, 180)); canvas.drawRect(40, 40, 200, 100, paint); } }