Android中使用画笔和画布绘制一个矩形

场景

在Android中画笔使用Paint类,画布使用Canvas类来表示。

绘图的基本步骤

首先编写一个继承自View的自定义View类,然后重写其onDraw方法,最后把自定义的view添加到actvity中。

效果

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

首先在要显示的Activity的布局文件添加一个id。

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/forever"
    tools:context=".CanvasActivity">

</FrameLayout>

然后在包下新建一个自定义View类,这里是MyView使其继承View类并编写一个带一个参数的构造方法和重写onDraw方法。

在重写的onDraw方法中新建画笔并设置一些属性,然后使用画笔在画布上指定的位置绘制矩形。package com.badao.alarmmanager;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.view.View;

public class MyView extends View {
    public MyView(Context context) {
        super(context);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        //定义画笔
        Paint paint = new Paint();
        //设置颜色
        paint.setColor(0xFFFF6600);
        //设置画笔类型
        paint.setStyle(Paint.Style.FILL);
        //使用画笔在画布上画矩形
        canvas.drawRect(10,10,280,150,paint);

    }
}

然后将此自定义view添加到activity中

package com.badao.alarmmanager;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.FrameLayout;

public class CanvasActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_canvas);
        FrameLayout frameLayout = (FrameLayout) findViewById(R.id.forever);
        frameLayout.addView(new MyView(this));
    }
}

原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/12178452.html

时间: 2024-09-28 19:55:09

Android中使用画笔和画布绘制一个矩形的相关文章

Android中使用Canvas和Paint绘制一个安卓机器人

场景 在Android中画笔使用Paint类,画布使用Canvas类来表示. 绘图的基本步骤 首先编写一个继承自View的自定义View类,然后重写其onDraw方法,最后把自定义的view添加到actvity中. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 首先在要显示的Activity的布局文件中修改为FrameLayout并添加一个id. <?xml vers

HTML5 在canvas绘制一个矩形

笔者:本笃庆军 原文地址:http://blog.csdn.net/qingdujun/article/details/32930501 一.绘制矩形 canvas使用原点(0,0)在左上角的坐标系统,x坐标向右递增.y坐标向下递增. 使用画图环境的矩形绘制函数来绘制矩形. fillRect(x,y,width,height) : 绘制一个实心的矩形. strokeRect(x,y,width,height) : 绘制一个空心的矩形. clearRect(x,y,width,height) :

QT绘图二:动态绘制一个矩形

本实例还是通过重写QWidget类的虚函数paintEvent来实现矩形的绘制.1.固定矩形的绘制要求(1)要求举行能够随窗口大小动态调整(2)矩形宽度.高度为窗口宽度高度的一半实例效果如下图所示: 2.将上例中矩形变更为动态绘制(1)矩形的四条边逐一绘制完成(2)矩形绘制完成后,在填充中央背景色实例效果如下图所示: 实现思路:<1>以左上角作为起始点(X0,Y0)<2>向右描点达到矩形坐标点(X1,Y0)<3>向下描点到到(X1,Y1)<4>向左描点到达(

android中按back键返回上一个activity,如何重新调用上一个activity的oncreate方法?

默认情况下是不会调用的. @Override public void onBackPressed() { String titleStr = edittitle.getText().toString(); String contentStr = editcontent.getText().toString(); if (title.equals(titleStr) && content.equals(contentStr)) { super.onBackPressed(); } else

Android中ExpandableListView,每次只展示一个分组

// 只允许打开一个分组 expandListView.setOnGroupExpandListener(new OnGroupExpandListener() { @Override public void onGroupExpand(int groupPosition) { for (int i = 0, count = expandTreeViewAdapter.getGroupCount(); i < count; i++) { if (i != groupPosition) { exp

Android中View绘制优化之三---- 优化View

本文原创, 转载请注明出处:http://blog.csdn.net/qinjuning 译三: 优化视图 关于如何设计自定义View以及响应触摸时间等,请看Android developer : 地址:http://developer.android.com/training/custom-views/index.html 本文翻译地址:Optimizing the View 通过前面的学习,现在该设计良好的View能够响应手势以及状态之间进行转换,除此之外你必须确保View 运行的流畅快速.

Android中Canvas绘图基础详解(附源码下载)

Android中,如果我们想绘制复杂的自定义View或游戏,我们就需要熟悉绘图API.Android通过Canvas类暴露了很多drawXXX方法,我们可以通过这些方法绘制各种各样的图形.Canvas绘图有三个基本要素:Canvas.绘图坐标系以及Paint.Canvas是画布,我们通过Canvas的各种drawXXX方法将图形绘制到Canvas上面,在drawXXX方法中我们需要传入要绘制的图形的坐标形状,还要传入一个画笔Paint.drawXXX方法以及传入其中的坐标决定了要绘制的图形的形状

Android中Canvas绘图基础详解

原文:http://blog.csdn.net/iispring/article/details/49770651 Android中,如果我们想绘制复杂的自定义View或游戏,我们就需要熟悉绘图API.Android通过Canvas类暴露了很多drawXXX方法,我们可以通过这些方法绘制各种各样的图形.Canvas绘图有三个基本要素:Canvas.绘图坐标系以及Paint.Canvas是画布,我们通过Canvas的各种drawXXX方法将图形绘制到Canvas上面,在drawXXX方法中我们需要

Android 中常见控件的介绍和使用

1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.lang.Object   ? android.view.View   ? android.widget.TextView 直接子类: Button, CheckedTextView, Chronometer, DigitalClock, EditText 间接子类: AutoCompleteTextV