博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
绘制兔子
阅读量:3971 次
发布时间:2019-05-24

本文共 2420 字,大约阅读时间需要 8 分钟。

文章目录

创建安卓应用

在这里插入图片描述

创建custom

在这里插入图片描述

定义变量

在这里插入图片描述

构造方法,初始化画笔

在这里插入图片描述

绘制方法–绘制兔子

在这里插入图片描述

在这里插入图片描述

package net.zjs.draw_circle_view;import android.app.Activity;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Rect;import android.graphics.RectF;import android.view.View;public class CustomView extends View {    private Paint paint;//画笔    private int screenWidth;//屏幕宽度    private int screenHeight;//屏幕高度    /*    * 构造方法--初始化画笔    * */    public CustomView(Context context) {        super(context);        //实例化画笔        paint=new Paint();        //设置画笔防锯齿形        paint.setAntiAlias(true);//        //设置画笔颜色//        paint.setColor(Color.BLACK);        //获取屏幕宽度        screenWidth=((Activity) context).getWindowManager().getDefaultDisplay().getWidth();        //获取屏幕高度        screenHeight=((Activity) context).getWindowManager().getDefaultDisplay().getHeight();    }    /*    * 绘制方法    * 绘制兔子*/    protected void onDraw(Canvas canvas){        super.onDraw(canvas);        //设置画笔颜色--黑色        paint.setColor(Color.BLACK);        //        paint.setStyle(Paint.Style.STROKE);        //绘制椭圆(设置其大小)--左耳朵        canvas.drawArc(new RectF(200,200,400,1000),0,360,true,paint);        //绘制椭圆(右耳朵)        canvas.drawArc(new RectF(700,200,900,1000),0,360,true,paint);        //绘制圆(脸)        paint.setColor(Color.WHITE);        paint.setStyle(Paint.Style.FILL);        canvas.drawCircle(550,1200,500,paint);        paint.setColor(Color.BLACK);        paint.setStyle(Paint.Style.STROKE);//空心圆        canvas.drawCircle(550,1200,500,paint);        //绘制实心圆(眼睛)        paint.setStyle(Paint.Style.FILL);        canvas.drawCircle(350,1100,40,paint);        canvas.drawCircle(750,1100,40,paint);        //直线(嘴)        canvas.drawLine(300,1400,800,1400,paint);        //矩形(牙齿)        paint.setStyle(Paint.Style.STROKE);        canvas.drawRect(new Rect(400,1500,500,1400),paint);        canvas.drawRect(new Rect(600,1500,700,1400),paint);    }}

编写主界面类

package net.zjs.draw_circle_view;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;public class MainActivity extends AppCompatActivity {    private CustomView mCustomview;//声明自定义视图    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //实例化自定义视图        mCustomview=new CustomView(this);        //将自定义视图设置为用户界面        setContentView(mCustomview);    }}

运行效果

在这里插入图片描述

转载地址:http://sjtki.baihongyu.com/

你可能感兴趣的文章
SQL - SQL Server中如何取年、月、日 -DATEPART函数
查看>>
SQL - SQL Server 一列或多列重复数据的查询,删除
查看>>
NET - .NET Core WebAPI + Vue + Axios 导出Excel / CSV
查看>>
NET - NET Core quartz.net 时间表达式----- Cron表达式详解
查看>>
NET - .NET Core 之 Abp Audit-Logging
查看>>
NET - .NET Core 之 Abp 整合 Quartz
查看>>
android 各式各样progress 进度条大全
查看>>
开发Google眼镜的app
查看>>
Android base-adapter-helper 源码分析与扩展
查看>>
Android 4.4从图库选择图片,获取图片路径并裁剪
查看>>
Android Fragment 你应该知道的一切
查看>>
使用AudioManager调节播放器音量的开发实例
查看>>
安卓开发者必备的42个链接
查看>>
Eclipse下Ant自动打包,混淆和签名
查看>>
linux环境下编译不成功
查看>>
Android WebView Long Press长按保存图片到手机
查看>>
BaseAnimation是基于开源的APP,致力于收集各种动画效果(最新版本1.3)
查看>>
TextView显示html图片点击图片放大等操作
查看>>
【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
查看>>
Android Fragment getActivity返回null解决
查看>>