AndroidStudio畫筆功能繪制簡單圖形-創(chuàng)新互聯(lián)

一 設(shè)置頁面布局

設(shè)置activity_main.xml為幀布局便于畫圖時直接使用位置進行繪制

超過十年行業(yè)經(jīng)驗,技術(shù)領(lǐng)先,服務(wù)至上的經(jīng)營模式,全靠網(wǎng)絡(luò)和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業(yè)務(wù)范圍包括了:做網(wǎng)站、網(wǎng)站建設(shè),成都網(wǎng)站推廣,成都網(wǎng)站優(yōu)化,整體網(wǎng)絡(luò)托管,微信平臺小程序開發(fā),微信開發(fā),重慶App定制開發(fā),同時也可以讓客戶的網(wǎng)站和網(wǎng)絡(luò)營銷和我們一樣獲得訂單和生意!二 新建java類用于編寫繪圖代碼

在mainactivity目錄下新建myview類

三 繼承原有view方法 并設(shè)定畫布
public class MyView extends View {public MyView(Context context) {super(context);
    }

    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    @Override
    protected void onDraw(Canvas canvas) {//編輯畫布類
        super.onDraw(canvas);
    }
}
四 定義畫筆
Paint paint2 = new Paint();//定義畫筆
        paint2.setStyle(Paint.Style.FILL);//設(shè)定畫筆類型 fill為填充
        paint2.setColor(0xff99ffff);//定義畫筆顏色 34位為透明度 默認空為100%透明 ff為完全不透明 最后6位為顏色

        Paint paint1 = new Paint();//定義畫筆
        paint1.setStyle(Paint.Style.STROKE);//設(shè)定畫筆類型 stroke為描邊
        paint1.setColor(0xff663399);//定義畫筆顏色 34位為透明度 默認空為100%透明 ff為完全不透明 最后6位為顏色
        paint1.setStrokeWidth(20);//定義邊框?qū)挾?/code>
五 繪制圖形 (1)矩形
 canvas.drawRect(100,100,400,300,paint1);
         //繪制矩形 前倆為左上角 后倆為右下角 最后為使用的畫筆

輸出圖形
輸出圖形

(2)圓形
 canvas.drawCircle(250, 600, 150, paint1);
         //繪制空心圓 前兩為圓心位置 后一個半徑 最后為使用的畫筆

輸出圖形
輸出圖形

(3)橢圓形
canvas.drawOval(100,900,400,1100, paint1);
        //繪制空心橢圓 設(shè)定外邊框矩形 前倆為左上角 后倆為右下角 最后為使用的畫筆

輸出圖形
輸出圖形

(4)用路徑繪制自定義多邊形
//使用路徑法繪制自定義圖形
        Path path1 = new Path();
        path1.moveTo(250, 1250);//設(shè)定起始點
        path1.lineTo(100,1500);//頂點1
        path1.lineTo(400,1500);//頂點2
        path1.close();//最后一個點與頂點相連
        canvas.drawPath(path1, paint1);//繪制空心三角形

輸出圖形
輸出圖形

(5)弧形或者扇形
//繪制弧形或者扇形
        RectF rectF2 = new RectF(600, 1700, 900, 2000);//定義弧形的外邊框矩形
        canvas.drawArc(rectF2,0,225,true, paint1);
        RectF rectF3 = new RectF(600, 1200, 900, 1500);//定義弧形的外邊框矩形
        canvas.drawArc(rectF3,0,225,false, paint2);
        //第一個為外邊框矩形
        //第二個為初始方向 0為3點鐘方向 順時針增加 逆時針減少
        //第三個為劃過角度 順時針增加 逆時針減少
        //第四個為是否連接中心點
        //第五個為使用的畫筆類型

輸出圖形
在這里插入圖片描述

示例 myview.java
package com.example.paint;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.RectF;
import android.os.Build;
import android.view.View;

import androidx.annotation.RequiresApi;

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

    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    @Override
    protected void onDraw(Canvas canvas) {//編輯畫布類
        super.onDraw(canvas);
        Paint paint2 = new Paint();//定義畫筆
        paint2.setStyle(Paint.Style.FILL);//設(shè)定畫筆類型 fill為填充
        paint2.setColor(0xff99ffff);//定義畫筆顏色


        Paint paint1 = new Paint();//定義畫筆
        paint1.setStyle(Paint.Style.STROKE);//設(shè)定畫筆類型 stroke為描邊
        paint1.setColor(0xff663399);//定義畫筆顏色
        paint1.setStrokeWidth(20);//定義邊框?qū)挾?
        canvas.drawRect(100,100,400,300,paint1);//繪制空心矩形 前倆為左上角 后倆為右下角 最后為使用的畫筆
        canvas.drawCircle(250, 600, 150, paint1);//繪制空心圓 前兩為圓心位置 后一個半徑 最后為使用的畫筆
        canvas.drawOval(100,900,400,1100, paint1);//繪制空心橢圓 設(shè)定外邊框矩形 前倆為左上角 后倆為右下角 最后為使用的畫筆

        canvas.drawRect(600,100,900,300,paint2);//繪制實心矩形 前倆為左上角 后倆為右下角 最后為使用的畫筆
        canvas.drawCircle(750, 600, 150, paint2);//繪制實心圓 前兩為圓心位置 后一個半徑 最后為使用的畫筆
        canvas.drawOval(600,900,900,1100, paint2);//繪制實心橢圓 設(shè)定外邊框矩形 前倆為左上角 后倆為右下角 最后為使用的畫筆

        //使用路徑法繪制自定義圖形
        Path path1 = new Path();
        path1.moveTo(250, 1250);//設(shè)定起始點
        path1.lineTo(100,1500);//頂點1
        path1.lineTo(400,1500);//頂點2
        path1.close();//最后一個點與頂點相連
        canvas.drawPath(path1, paint1);//繪制空心三角形

        //繪制弧形或者扇
        RectF rectF1 = new RectF(100, 1700, 400, 2000);//定義弧形的外邊框矩形
        canvas.drawArc(rectF1,0,225,false, paint1);
        RectF rectF2 = new RectF(600, 1700, 900, 2000);//定義弧形的外邊框矩形
        canvas.drawArc(rectF2,0,225,true, paint1);
        RectF rectF3 = new RectF(600, 1200, 900, 1500);//定義弧形的外邊框矩形
        canvas.drawArc(rectF3,0,225,false, paint2);
        //第一個為外邊框矩形
        //第二個為初始方向 0為3點鐘方向 順時針增加 逆時針減少
        //第三個為劃過角度 順時針增加 逆時針減少
        //第四個為是否連接中心點
        //第五個為使用的畫筆類型
    }
}

運行結(jié)果圖
運行結(jié)果圖

?

作者:張峰騰
學(xué)號:116052020132
原文地址:https://blog.csdn.net/m0_56687634/article/details/128178373?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22128178373%22%2C%22source%22%3A%22m0_56687634%22%7D

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

文章名稱:AndroidStudio畫筆功能繪制簡單圖形-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://muchs.cn/article4/djjsoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、標(biāo)簽優(yōu)化、服務(wù)器托管、外貿(mào)網(wǎng)站建設(shè)、App開發(fā)、用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)