Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 自定義的View

自定義的View

編輯:關於Android編程

要實現一個自定義的View,通常都是重寫一些系統框架在所有View上調用的基本方法,如大家都熟悉的onDraw(Convas)方法,沒有必要重寫View所有的方法。下面我們一起對View的方法按照View的生命周期事件順序進行分類,如 ... 要實現一個自定義的View,通常都是重寫一些系統框架在所有View上調用的基本方法,如大家都熟悉的onDraw(Convas)方法,沒有必要重寫View所有的方法。

下面我們一起對View的方法按照View的生命周期事件順序進行分類,如下表所示:

 分類                         方法                          描述                              創建   

構造方法 View中有兩種類型的構造方法,一種是在代碼中構建View,另一種是填充布局文件構建View,第二種構造方法要解析並應用布局文件中定義的任何屬性。onFinishInflash() 在來自於XML的View和它所有的子節點填充之後被調用。

 


布局 onMeasure 調用該方法來確定view及它所有子節點需要的尺寸onLayout 當view需要為它的所有子節點指定大小和布局時,此方法被調用

onSizeChanged 當這個view的大小發生變化時,此方法被調用

繪制 onDraw 當view渲染它的內容時被調用

事件處理 onKeyDown 當一個新的按鍵事件發生時被調用

onKeyUp 當一個按鍵按起時被調用

onTrackballEvent 當軌跡球動作事件發生時被調用

onTouchEvent 當觸屏動作發生時被調用焦點

onFocusChanged 當view獲得或是失去焦點時被調用

onWindowFocusChanged 當包含view的窗口獲得焦點或是失去焦點時被調用附著 onAttachedToWindow() 當view附著到窗口時被調用

onDetachedFromWindow 當view脫離它的窗口時被調用

onWindowVisibilityChanged 當包含此view的窗口的可見性發生變化時被調用

View 1.0 ID 關於View的ID,不做過多說明,只是用於標記View。View 1.1 位置View的幾何形狀是一個矩形,view的位置由矩形的左上角的x,y坐標及矩形的高度和寬度決定,他們的單位都是像素。 通過getLeft和getTop方法可以獲得view相對於它的直接父節點的x,y坐標。

 此外,還有一些便利的方法可以幫助我們減少計算量,比如getRight和getBottom方法,調用getRight等價於getLeft()+getWidth()方法,

同理getBottom等價於getTop()+getHeight()方法。

View 1.2 大小,padding,margin 一個View的大小由它的寬度和高度來表達,一個View實際上擁有兩對寬高值。 第一對寬高值是:測量過的寬度和高度,即view想從它的父節點獲得的寬高值,可以通過getMeasuredWidth()方法和getMeasuredHeight()方法獲得。 第二對寬高值是:繪制的寬度和高度,即View的實際寬度和高度,是在布局之後,繪制View階段的寬高值,這與上面提到的寬高值可能不同。通過getWidth()方法和getHeight()方法可以獲得View的實際寬度和高度。 padding同css中的padding屬性。通過setPadding(int,int,int,int)可以設置View的padding,通過getPaddingXXX()方法可以獲得View中對應方向的padding,XXX值得是left,right,top,bottom。 view不提供對margin的支持,但是viewGroup提供支持。

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved