開始時之前想吐槽一句。。iphone的鬧鐘,12小時制。我成功的把鬧鐘訂到了下午5:00 導致錯過一班飛機。心疼改簽費。
候機ing,沒有事做,來寫一下學習自定義view必須掌握的基本函數。這里只挑一些常用的進行講解。
首先 往Canvas上面draw需要一個Paint。 畫筆常用的函數有哪些呢。由于木有調試環境,函數基本上默寫,有錯請評論提出,蟹蟹!
~~~
Paint p = new Paint();
//設置畫筆的顏色
p.setColor(Color.parseColor("#2EA4F2"));
//設置畫筆的風格:全部填充FILL 只畫輪廓STROKE
p.setStyle(Paint.Style.STROKE);
//設置畫筆的寬度
p.setStrokeWidth(8);
//設置是否抗鋸齒
p.setAntiAlias(true);
~~~
~~~
//設置文字大小
p.setTextSize(30);
//測量字符串的長度
p.MeasureText("Hello World");
~~~
當我們有了畫筆后,就可以繪制基本圖形。
**線**:
~~~
//繪制一條從0,0到100,100的線
canvas.drawLine(0,0,100,100,p);
~~~
**三角形&多邊形**
是用Path類實現的。Path類提供了點繪制線的功能,看例子
~~~
path.MoveTo(0,0);//給定path的起點
path.LineTo(10,10);//往10,10繪制一條路徑
path.LineTo(5,3);//繼續從10,10往5,3繪制一條路徑
path.close;//將繪制的線形成封閉空間
canvas.drawPath(path,p);
~~~
**矩形**:
~~~
//畫一個矩形,左上角的坐標為0,0 右下角的坐標為100,50
canvas.drawRect(0,0,100,50,p);
~~~
**圓角矩形**:
~~~
//一個矩形
RectF rectF = new RectF(0,0,100,50);
//畫一個圓角矩形,大小為rectF,20,20分表表示左邊圓角的半徑和右邊圓角的半徑
canvas.drawRoundRect(RectF,20,20,p);
~~~
**圓形**
~~~
//畫一個圓,圓心為50,50 半徑為100
canvas.drawCircle(50,50,100,p);
~~~
**弧形**
注意這里第二個參數,是從三點鐘方向為0°計算,所以想從12點中方向開始繪制,那么就是270°。第四個參數是決定是否經過圓心(自己改變一下這個參數就知道區別了)。
~~~
//畫一個弧,弧所在矩形為rectF 從270°開始,畫90° 不經過圓心
canvas.drawArc(rectF,270,90,false,p);
~~~
以上基本上是自定義view所用到的最基本的函數,歡迎補充。
- 前言
- android自定義viewgroup初步之一----抽屜菜單
- Android 自定義view --圓形百分比(進度條)
- Android 自定義View -- 簡約的折線圖
- 新手自定義view練習實例之(一) 泡泡彈窗
- 新手自定義view練習實例之(二) 波浪view
- 手把手帶你畫一個 時尚儀表盤 Android 自定義View
- 手把手帶你畫一個動態錯誤提示 Android自定義view
- 手把手帶你做一個超炫酷loading成功動畫view Android自定義view
- 關于Android自定義view 你所需要知道的基本函數
- Android自定義view進階-- 神奇的貝塞爾曲線
- wing帶你玩轉自定義view系列(1) 仿360內存清理效果
- wing帶你玩轉自定義view系列(2) 簡單模仿qq未讀消息去除效果
- wing帶你玩轉自定義view系列(3)模仿微信下拉眼睛
- 手把手教你畫一個 逼格滿滿圓形水波紋loadingview Android
- 有坑?? 為何wing墜入PorterDuffXferMode的萬丈深淵(PorterDuffXferMode深入試驗)
- 手把手帶你畫一個漂亮蜂窩view Android自定義view
- 一個炫字都不夠??!!!手把手帶你打造3D自定義view
- 恭喜發財! -- 手把手教你仿造一個qq下拉搶紅包 Android自定義view