2013年10月3日 星期四

Custom View-客製化視圖

  1. 隨你的喜好製作View元件
  2. 作法
    • New一個class,繼承View(或其子類別)
    • 需選取其【雙參數】建構子(Context、AttributeSets)
      Why三參數不可以,原因待查,第二個參數為傳遞相關屬性
    • 基本上都會複寫(overide) onDraw(Canvas canvas)或Draw(Canvas canvas)
    • 其Canvas參數(意指【畫布】可用來進行繪圖,EXcanvas.drawCircle
    • 其中會用到Paint物件,是作為畫筆()內定屬性有黑色、填滿模式
    •  
  3. 用法:
    • 回到調色盤,其歸類為【Custom & Library View】,按下refresh應能找到此文件。
    • 凡view所提共知相關方法都可以使用EX:visibility、OnClick、background color等
    • 甚至改寫Button可放文字上去。
    • 可以註冊onTouch,能對手是有更細分解:【按壓、滑動、離手】
  4. 客製元件的應用主要有兩類,一是整張畫布填滿畫面;二是將它視為一個元件
    因此,若要當成元件,通常會以onMeasure()複寫,並在其中以setMeasuredDimension(W,H)來規範其大小。
  5. 常見的畫筆用法有
    • 設定顏色
    • 設定筆粗
    • 設定筆觸風格【填滿或外框】
    • 設定消除鋸齒狀
  6. 圖示滑動Custom View之原理
    • 步驟一:按壓在(X0,Y0)->(10,10);
    • 步驟二:移動在(X,Y)->(11,10);
    • 步驟三:取得移動量(X-X0,Y-Y0)=(1,0);
    • 步驟四:取得View所在視窗的位置(v.getX(),v.getY());
    • 步驟五:加上移動量(v.setX(v.getX()+1),v.setY(v.getY()+0));

沒有留言:

張貼留言