編輯:初級開發
Canvas beginRecording(int width, int height) //開始記錄繪制過程
static Picture createFromStream(InputStream stream) //靜態方法,從輸入流創建一個Pictrue對象
void draw(Canvas canvas) //在canvas上畫這個picture對象
void endRecording() //結束錄制繪制過程
int getHeight()
int getWidth()
void writeToStream(OutputStream stream) //將繪制結果寫到輸出流中
我們可以看到整個類中方法不多,但主要的beginRecording和endRecording記錄開始和結束,最終通過draw方法繪制到畫布上去,而createFromStream和writeToStream可以幫助我們從流中讀寫這個Picture對象,我們可以將整個繪制過程通過FileInputStream或FileOutputStream放到文件中去。
PictureDrawable是什麼呢? 這裡Android123提示大家它位於android.graphics.drawable.PictureDrawable 是從Drawable類繼承而來的,它的構造方法只有一個就是從Picture對象中實例化,PictureDrawable(Picture picture)
void draw(Canvas canvas) // 繪制到Canvas
int getIntrinsicHeight()
int getIntrinsicWidth()
int getOpacity() //獲取透明度級別
Picture getPicture() //從PictureDrawable轉為Picture
void setAlpha(int alpha) //設置透明級別
void setColorFilter(ColorFilter colorFilter)
void setDither(boolean dither)
void setFilterBitmap(boolean filter)
void setPicture(Picture picture)
下面我們就一個簡單的例子,來看看它們的具體工作原理:
Picture p=new Picture();
Canvas c=p.beginRecording(320,480);
//// c.drawBitmap() ,drawLine等方法處理
p.endRecording();
PictureDrawable pd=new PictureDrawable(p);
pd.draw(canvaeObj) ;
接上,其實BnMediaPlayerService->onTransact函數的結構也很簡單,就是switch...case...接收不同的請求執行不同的代碼調用
從學習搭環境到開發,雖然也遇到些讓人糾結的問題,還好都一一解決了。言歸正轉,這次寫的是一個Demo似的小應用,簡單得不能再簡單了,一共就三個類,主類Bubble繼承於A
眾所周知,在寫 android 程序的時候,很容易出現 OOM ,而出現的時機大多數是由 Bitmap decode 引發的: &
Google近期開始打擊盜版Android軟件,為開發者提供了 License Verification Library (LVL) 方式來防止Android軟件被盜版