1.android paint和color類
要繪圖,首先得調整畫筆,待畫筆調整好之後,再將影象繪製到畫布上,這樣才可以顯示在手機螢幕上。android 中的畫筆是 paint類,paint 中包含了很多方法對其屬性進行設定,主要方法如下:
setantialias: 設定畫筆的鋸齒效果。
setcolor: 設定畫筆顏色
setargb: 設定畫筆的a,r,p,g值。
setalpha: 設定alpha值
settextsize: 設定字型尺寸。
setstyle: 設定畫筆風格,空心或者實心。
setstrokewidth: 設定空心的邊框寬度。
getcolor: 得到畫筆的顏色
getalpha: 得到畫筆的alpha值。
下面是乙個簡單的示例 來說明這些方法的使用。先來看看執行效果吧。
/**
* paint類介紹
* * paint即畫筆,在繪圖過程中起到了極其重要的作用,畫筆主要儲存了顏色,
* 樣式等繪製資訊,指定了如何繪製文字和圖形,畫筆物件有很多設定方法,
* 大體上可以分為兩類,一類與圖形繪製相關,一類與文字繪製相關。
* * 1.圖形繪製
* setargb(int a,int r,int g,int b);
* 設定繪製的顏色,a代表透明度,r,g,b代表顏色值。
* * setalpha(int a);
* 設定繪製圖形的透明度。
* * setcolor(int color);
* 設定繪製的顏色,使用顏色值來表示,該顏色值包括透明度和rgb顏色。
* * setantialias(boolean aa);
* 設定是否使用抗鋸齒功能,會消耗較大資源,繪製圖形速度會變慢。
* * setdither(boolean dither);
* 設定是否使用影象抖動處理,會使繪製出來的顏色更加平滑和飽滿,影象更加清晰
* * setfilterbitmap(boolean filter);
* 如果該項設定為true,則影象在動畫進行中會濾掉對bitmap影象的優化操作,加快顯示
* 速度,本設定項依賴於dither和xfermode的設定
* * setmaskfilter(maskfilter maskfilter);
* 設定maskfilter,可以用不同的maskfilter實現濾鏡的效果,如濾化,立體等
* * setcolorfilter(colorfilter colorfilter);
* 設定顏色過濾器,可以在繪製顏色時實現不用顏色的變換效果
* * setpatheffect(patheffect effect);
* 設定繪製路徑的效果,如點畫線等
* * setshader(shader shader);
* 設定影象效果,使用shader可以繪製出各種漸變效果 *
* setshadowlayer(float radius ,float dx,float dy,int color);
* 在圖形下面設定陰影層,產生陰影效果,radius為陰影的角度,dx和dy為陰影在x軸和y軸上的距離,color為陰影的顏色
* * setstyle(paint.style style);
* 設定畫筆的樣式,為fill,fill_or_stroke,或stroke
* * setstrokecap(paint.cap cap);
* 當畫筆樣式為stroke或fill_or_stroke時,設定筆刷的圖形樣式,如圓形樣式
* cap.round,或方形樣式cap.square
* * setsrokejoin(paint.join join);
* 設定繪製時各圖形的結合方式,如平滑效果等
* * setstrokewidth(float width);
* 當畫筆樣式為stroke或fill_or_stroke時,設定筆刷的粗細度
* * setxfermode(xfermode xfermode);
* 設定圖形重疊時的處理方式,如合併,取交集或並集,經常用來製作橡皮的擦除效果
* * 2.文字繪製
* setfakeboldtext(boolean fakeboldtext);
* 模擬實現粗體文字,設定在小字型上效果會非常差
* * setsubpixeltext(boolean subpixeltext);
* 設定該項為true,將有助於文字在lcd螢幕上的顯示效果
* * settextalign(paint.align align);
* 設定繪製文字的對齊方向
* * settextscalex(float scalex);
* 設定繪製文字x軸的縮放比例,可以實現文字的拉伸的效果
* * settextsize(float textsize);
* 設定繪製文字的字型大小大小
* * settextskewx(float skewx);
* 設定斜體文字,skewx為傾斜弧度
* * settypeface(typeface typeface);
* 設定typeface物件,即字型風格,包括粗體,斜體以及襯線體,非襯線體等
* * setunderlinetext(boolean underlinetext);
* 設定帶有下劃線的文字效果
* * setstrikethrutext(boolean strikethrutext);
* 設定帶有刪除線的效果
* */
Android 基礎知識
我們是 h是對應 2560 1440 xxh是對應 1920 1080 1dp 3px xh是對應 1280 720 1dp 2px h是對應 800 480 m是對應 480 320 bg splash.png error failed to read png signature file doe...
Android基礎知識
android 教程 菜鳥教程 android 知識體系文件新增鏈結描述 android 頁面布局 共六種 線性布局linearlayout 布局tablelayout 相對布局relativelayout 層布局framelayout 絕對布局absolutelayout 網格布局gridlayo...
Android基礎知識
project與module的區別android中畫素的單位有px 畫素 in 英吋 mm 公釐 pt 磅,相當於1 72英吋 dp 與裝置無關的單位 dip 就是dp sp 設定字型大小的單位 常用的單位有px dp sp三個。px是指螢幕上可以顯示的最小的單位,與物理裝置的顯示屏有關。同等尺寸的...