最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android UI開發(fā) View自繪控件 分享

 更新時(shí)間:2013年05月28日 10:19:00   作者:  
Android UI開發(fā) View自繪控件 分享,需要的朋友可以參考一下

 很多時(shí)候想要設(shè)計(jì)漂亮的Android UI,使用Android自帶的控件無法滿足我們的需要就要考慮自繪控件,在Android界面顯示類View,可以通過繼承擴(kuò)展重寫相關(guān)方法來實(shí)現(xiàn)我們的圖形繪制。

  首先我們需要了解下View類的底層實(shí)現(xiàn),在SDK中我們可以看到View直接繼承于Java的基類Object,實(shí)現(xiàn)了圖形繪制和按鍵事件 Drawable.Callback KeyEvent.Callback的相關(guān)方法,我們自繪時(shí)主要實(shí)現(xiàn)其內(nèi)部的onDraw方法,相關(guān)的界面計(jì)算可以重寫onMeasure方法,對于相關(guān)的按鍵可以重載onKeyDown、onKeyUp以及onTouchEvent等,下面android開發(fā)網(wǎng)就以一個實(shí)例來表示。

復(fù)制代碼 代碼如下:

  public class cwjView extendsView

  {

  public cwjView(Context context)

  {

  this(context,null);

  }

  public cwjView(Context context,AttributeSet attrs)

  {

  this(context,attrs,0);

  }

public cwjView(Context context,AttributeSet attrs,int defStyle)

  {

  super(context,attrs,defStyle);

  //這里是本類的構(gòu)造,相關(guān)初始化可以在這里添加代碼

  }

  @Override

  protectd void onDraw(Canvas canvas)

  {

  super(canvas);

  //繪圖的關(guān)鍵,可以看到已經(jīng)包含了一個canvas句柄,可以直接通過我們前面講到的Canvas類進(jìn)行相關(guān)的操作,完整的例子,大家可以參考Android SDK中例子Snake貪食蛇游戲的實(shí)現(xiàn)。

  }

  }


  有關(guān)View類的更新,我們直接通過調(diào)用invalidate(int l,int r,int r,int b)來更新一個Rect矩形區(qū)域,或更新全部,同時(shí)在線程中我們使用需要調(diào)用postInvalidate來更新界面。

相關(guān)文章

最新評論

安乡县| 永定县| 平山县| 郎溪县| 横峰县| 潜江市| 丹阳市| 二连浩特市| 靖远县| 罗江县| 涡阳县| 武定县| 潜山县| 宁河县| 皮山县| 舞钢市| 绩溪县| 波密县| 临泽县| 保定市| 延安市| 镇康县| 蒲城县| 开阳县| 枞阳县| 托里县| 邵阳市| 梓潼县| 阿克苏市| 剑川县| 普兰县| 甘德县| 罗平县| 郎溪县| 彭阳县| 团风县| 河南省| 龙山县| 镇雄县| 长治市| 大庆市|