当前位置: 安卓之星 -> 安卓开发 -> 自定义View 实现简单图形的绘制

自定义View 实现简单图形的绘制

作者:网络 发表于: 2017-01-03 点击: 282 次

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.RectF;
import android.view.Menu;
import android.view.View;

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new MyView(this));
    }

    class MyView extends View{
        Paint mPaint=null;
        public MyView(Context context) {
        super(context);
        mPaint=new Paint();
    }
    //自定义view上画图
    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        mPaint.setColor(Color.BLACK);
        mPaint.setTextSize(18);//设置18dp
        mPaint.setFlags(Paint.ANTI_ALIAS_FLAG);//消除锯齿
        canvas.drawText(“hello word”, 0, 120, mPaint);

        //设置画布的背景颜色
        canvas.drawColor(Color.WHITE);
        //画一条直线
        mPaint.setColor(Color.BLACK);
        mPaint.setStrokeWidth(4);
        canvas.drawLine(0, 0, 100, 100, mPaint);

        //绘制矩形
        mPaint.setColor(Color.BLUE);
        canvas.drawRect(0, 120, 100, 200, mPaint);

        //绘制椭圆
        mPaint.setColor(Color.RED);
        canvas.drawOval(new RectF(300,370,120,100), mPaint);

        //绘制一个多边形
        mPaint.setColor(Color.RED);
        Path path=new Path();
        path.moveTo(150+5,400-50);
        path.lineTo(150+450, 400-50);
        path.lineTo(150+30, 460-50);
        path.lineTo(150+20, 460-50);
        path.close();
        canvas.drawPath(path,mPaint);
        }
    }    
}

相关文章

相关文章

赶快留言冒泡

  • 评论 (0)
  • 引用通告 (0)
目前还没有任何评论.
目前还没有任何Trackbacks和Pingbacks.
吐个泡浮上去.