国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android自定義控件繪制基本圖形基礎入門

2019-10-23 19:49:58
字體:
來源:轉載
供稿:網友

本文講述繪制Android自定義各種圖形效果,為自定義控件的入門篇

相關視頻鏈接:

Android自定義控件系列
http://edu.csdn.net/course/detail/3719/65396
Android視頻全系列
http://edu.csdn.net/course/detail/2741/43163

繪制點–這個控件只需要在布局中引用或者代碼中new 即可,下面幾個繪制只展示onDraw方法

package com.example.viewdemo1.view;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Paint.Style;import android.util.AttributeSet;import android.view.View;public class PointView extends View { public PointView(Context context, AttributeSet attrs, int defStyleAttr) {  super(context, attrs, defStyleAttr); } public PointView(Context context, AttributeSet attrs) {  super(context, attrs); } public PointView(Context context) {  super(context); } @Override protected void onDraw(Canvas canvas) {  super.onDraw(canvas);  // 對于畫筆  Paint paint = new Paint();  // 設置抗鋸齒  paint.setAntiAlias(true);  // 設置畫筆顏色  paint.setColor(Color.RED);  // 三種樣式  paint.setStyle(Style.FILL_AND_STROKE);  paint.setStrokeWidth(5);  // 陰影  paint.setShadowLayer(10, 0, 0, Color.CYAN);  // 點的坐標 x0,y0,x1,y1......  float[] pts = { 50, 50, 100, 100, 200, 200, 300, 300, 0, 100, 100, 0 };  canvas.drawPoints(pts, paint);  // 繪制點的時候,隔著幾個點繪制幾個,最多不到多少點  canvas.drawPoints(pts, 1, 6, paint); }}

繪制線

@Override protected void onDraw(Canvas canvas) {  super.onDraw(canvas);  // 對于畫筆  Paint paint = new Paint();  // 設置抗鋸齒  paint.setAntiAlias(true);  // 設置畫筆顏色  paint.setColor(Color.RED);  // 三種樣式  paint.setStyle(Style.FILL);  paint.setStrokeWidth(0.5f);  // 陰影  // paint.setShadowLayer(10, 0, 0, Color.CYAN);  // x0,y0,x1,y1  float[] pts = { 100, 100, 200, 200, 200, 200, 300, 200, 300, 200, 300,    400 };  // 以上是6個點的x,y坐標,兩兩連成線段  canvas.drawLines(pts, paint);  // 畫一條線  canvas.drawLine(0, 0, 100, 100, paint);  }

繪制圓

//指定圓心坐標,半徑就OKcanvas.drawCircle(100, 100, 100, paint);

繪制文字

//設置文字大小paint.setTextSize(40);//指定坐標,最好指定文字大小canvas.drawText("哈", 100, 500, paint);//將文字設置到指定路徑上Path path = new Path();paint.setTextSize(50);path.addCircle(200, 200, 150, Direction.CCW);canvas.drawTextOnPath("我愛你我的祖國,我愛你我親愛的姑娘", path, 0, 0, paint);

繪制矩形

// 陰影paint.setShadowLayer(10, 0, 0, Color.CYAN);// x y 坐標 及半徑值// canvas.drawCircle(100, 100, 50, paint);canvas.drawRect(50, 50, 300, 300, paint);

繪制圓弧

 //指定放置圓弧的矩形 RectF oval=new RectF(10,10,210,210); //繪制圓弧-0是指開始度數,270是指結束度數 false是指不連接圓心,paint是畫筆 canvas.drawArc(oval, 0, 270, false, paint);

繪制橢圓

//指定矩形,指定畫筆canvas.drawOval(oval, paint);

以上就是基本圖形的繪制了…very easy。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新沂市| 沁阳市| 青岛市| 义乌市| 平乐县| 黔南| 镇远县| 衡东县| 清苑县| 龙泉市| 崇左市| 武定县| 大关县| 马龙县| 江达县| 万宁市| 滨海县| 鲁山县| 鄂托克前旗| 福贡县| 潮安县| 甘南县| 普兰县| 吴忠市| 曲阜市| 襄汾县| 新野县| 将乐县| 成都市| 德化县| 金秀| 西青区| 伊吾县| 泌阳县| 临汾市| 鹿邑县| 武城县| 喜德县| 隆尧县| 东乡族自治县| 绍兴县|