十年專注于品牌網站建設 十余年專注于網站建設_小程序開發_APP開發,低調、敢創新、有情懷!
      南昌百恒網絡微信公眾號 掃一掃關注
      小程序
      tel-icon全國服務熱線:400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡微信小程序

      百恒網絡

      南昌百恒網絡

      定制視圖之創建BoxDrawingView視圖的方法

      百恒網絡 2017-08-25 5822

      Android自帶了很多優秀的標準視圖與組件,但有時為追求獨特的應用視覺效果,我們仍需創建定制視圖。 雖然定制視圖種類繁多,但大致可以分為以下兩大類別。

      1、簡單視圖:簡單視圖內部也可以很復雜;之所以歸為簡單類別,是因為簡單視圖不包括子視圖。而且,簡單視圖幾乎總是會執行定制繪制。

      2、聚合視圖:聚合視圖由其他視圖對象組成。聚合視圖通常管理著子視圖,但不負責執行定制繪制。圖形繪制任務都委托給了各個子視圖。

      3、創建定制視圖所需的三大步驟如下:

      (1)選擇超類,對于簡單定制視圖而言,View是個空白畫布,因此它作為超類最常見。對于聚合定制視圖,我們應選擇合適的超類布局,比如FrameLayout。

      (2)繼承選定的超類,并至少覆蓋一個超類構造方法。

      (3)覆蓋其他關鍵方法,以定制視圖行為。

      今天,南昌APP制作開發公司小編為大家介紹一下定制視圖中創建 BoxDrawingView視圖的方法。

      BoxDrawingView是個簡單視圖,同時也是View的直接子類。

      以View為超類,新建BoxDrawingView類。在BoxDrawingView.java中,添加兩個構造方法。具體操作如下代碼所示。

      初始的BoxDrawingView視圖類(BoxDrawingView.java)

      public class BoxDrawingView extends View {

      // Used when creating the view in code

      public BoxDrawingView(Context context) {

      this(context, null);

      }

      // Used when inflating the view from XML

      public BoxDrawingView(Context context, AttributeSet attrs) {

      super(context, attrs);

      }

      }

      這里之所以添加了兩個構造方法,是因為視圖可從代碼或者布局文件實例化。從布局文件中實例化的視圖可收到一個AttributeSet實例,該實例包含了XML布局文件中指定的XML屬性。 即使不打算使用構造方法,按習慣做法也應添加它們。

      有了定制視圖類,我們來更新fragment_drag_and_draw.xml布局文件以使用它,具體做法如下代碼所示。

      在布局中添加BoxDrawingView(fragment_drag_and_draw.xml)

      在布局中添加BoxDrawingView

      注意,我們必須使用BoxDrawingView的全路徑類名,這樣布局inflater才能夠找到它。布局 inflater解析布局XML文件,并按視圖定義創建View實例。如果元素名不是全路徑類名,布局inflater 會轉而在android.view和android.widget包中尋找目標。如果目標視圖類放置在其他包中,布局inflater將無法找到目標并最終導致應用崩潰。

      因此,對于android.view和android.widget包以外的定制視圖類,必須指定它們的全路徑類名。

      運行DragAndDraw應用,一切正常的話,屏幕上會出現一個空視圖,如下圖所示。

      運行DragAndDraw應用

      未繪制的BoxDrawingView

      接下來,讓BoxDrawingView監聽觸摸事件,并實現在屏幕上繪制矩形框。

      以上就是小編為大家介紹的關于在南昌APP開發中創建 BoxDrawingView視圖的方法,其實方法很簡單,估計大家看一遍就會了。不過如果還有哪些不太明白的地方也不用擔心,可隨時來電咨詢百恒網絡,我們專業為您解答!


      400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡小程序

      歡迎您的光顧,我們將竭誠為您服務×

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務 售后服務
       
      售后服務 售后服務
       
      備案專線 備案專線
       
      ×
      久久精品免费一区二区喷潮 | 无码人妻精品一二三区免费| 99精品全国免费观看视频..| 国产成人精品亚洲| 精品无人区一区二区三区在线| 久久国产精品-国产精品| 久久久久久青草大香综合精品| 国产精品100页| 精品久久久久久无码中文字幕漫画| 2022国产精品不卡a| 亚洲精品午夜在线观看| 久久久久亚洲精品天堂| 久久这里只有精品66re99| 九九热这里只有在线精品视 | 无码日韩人妻av一区免费| 成人国产精品视频频| 蜜臀AV无码精品人妻色欲| 亚洲欧洲精品视频在线观看| 久久精品国产亚洲AV无码麻豆 | 好吊妞视频这里只有精品| 久久久国产精品亚洲一区| 国内午夜国产精品小视频| 无码欧精品亚洲日韩一区 | 色欲麻豆国产福利精品| 一本色道久久综合亚洲精品蜜桃冫| 久久综合国产乱子伦精品免费| 性欧洲精品videos| 日产精品久久久久久久| 色一乱一伦一图一区二区精品| 国产免费阿v精品视频网址 | 无码精品A∨在线观看十八禁 | 日韩亚洲欧洲在线com91tv| 国产精品美女久久久久浪潮AV | 国产日韩精品一区二区三区| 日韩精品无码一区二区三区不卡| 国产视频精品视频| 国产精品久久久久影院免费| 国产精品乱子乱XXXX| 日韩免费高清播放器| 日韩午夜伦y4480私人影院| 精品无码中出一区二区|