Android開發實踐 自定義帶動畫的View

2021-09-04 05:03:15 字數 1092 閱讀 6392

前面兩篇文章介紹了自定義view的onmeasure和onlayout原理,本文準備介紹自定義view的第三個關鍵部分,即ondraw()函式的過載。

對於乙個自定義view來說,onmeasure只是用來計算view尺寸,ondraw()才是真正執行view的繪製,所以一般我們都需要重寫ondraw()函式來繪製我們期望的ui介面。下面我以乙個具體的例子探索自定義view的ondraw()的實現過程和關鍵點。

1. 首先,自定義view的派生類

public class animatorview extends view 

public animatorview(context context, attributeset attrs) 

public animatorview(context context, attributeset attrs, int defstyle) 

protected void initialize()    

}

注: paint是用來繪圖的畫筆,可以設定其樣式、畫面的粗細、填充模式、顏色等等。

2. 定義待繪製的圖形資料

待繪製的圖形資料一般是在程式中動態給出的,這裡為了演示,直接定義好:

public class animatorview extends view ,,,

,}; 

private int mpainttimes = 0;  //當前已經繪製的次數

}

3. 過載ondraw()函式,實現繪製

public class animatorview extends view 

}

當然,也可以把該view放到layout檔案中,這裡就不贅述了。

5. 小結

android開發之自定義帶邊框的TextView

自定義帶邊框的textview activity package cn.class3g.activity import android.content.context import android.graphics.canvas import android.graphics.paint impor...

Android 自定義帶圓角的dialog

由於感覺android系統自帶的dialog樣式不是很美觀,就自己定義了乙個dialog 1.在styles裡定義樣式 2.在drawable裡定義乙個shape畫圓角 3.在layout裡定義個性化布局 4.activity裡的 layoutinflater inflater getlayouti...

android開發之自定義dialog

很多時候,系統生成的dialog無法滿足我們的需求,這個時候,我們就只能自己去自定義乙個dialog來滿足自己的需要了。設定dialog 雙按鈕 private void showdialog string str1,string str2 確定按鈕 button btnok button layo...