對于大家來說,Google原生的View的派生類很方便的讓眾位開發(fā)者進行使用,但是這種便利也帶來了一些約束。所以我們大家往往需要根據(jù)應(yīng)用程序的界面樣式進行新的視圖的創(chuàng)建。通過創(chuàng)建自己的控件,可以實現(xiàn)符合自己需求的UI控件。
要在畫布上進行新控件的創(chuàng)建,就需要對View或者SurfaceView類進行擴展。View類提供了一個Canvas對象和一些繪制方法,還有Paint類,很方便進行繪制。因此使用它可以使用位圖和光柵圖創(chuàng)建一個可視化的界面。之后,就可以重寫一些用戶事件,如屏幕的觸摸等進行用戶交互。
對于那些不需要3D圖形效果的情況下,View類提供了輕量級的強大的解決方案。
SurfaceView提供了一個支持后臺線程繪制并且可以使用OpenGL來繪制Surface對象。對于那些對于圖形要求很高的控件,尤其是游戲界面,就需要用到SurfaceView了,因為該控件可以頻繁的更新或者顯示復(fù)雜的圖像信息。
下面是進行自定義View的基本框架:
新聞熱點
疑難解答