2013-07-26 30 views
-1

嗨我無法理解如何在運行時繪製自定義視圖。爲了簡單起見,假設我有一個擴展了View類的自定義視圖(Box),並且基本上它所做的只是創建一個配置爲在我的onDraw()方法中執行的正方形。現在,我希望能夠在活動中繪製此自定義視圖,具體取決於用戶是否單擊活動上的按鈕。在運行時繪製自定義視圖

因此,如果用戶單擊按鈕一次,一個框被繪製,再次點擊另一個框被繪製可能10個像素下來等我尋找一個解決方案,但我能找到的是人們使用預先製作的XML與查看然後使用充氣器,但是如果用戶沒有按下按鈕,我不想要預先畫好的盒子。

也是另一種快速的問題:當onDraw有()調用或者我必須顯式調用

Box box = new Box(); 
box.onDraw(canvas); 

Eclipse中說,這是一個可疑的電話,我同意。

回答

2

要進行自定義視圖,您必須擴展View類並覆蓋onDraw方法。然後,當你想繪製這個視圖時,你必須將它添加到你的視圖層次結構中。這與view.add(new Box())一樣簡單,其中view是您的根視圖,這樣Android系統就會在每個渲染週期自行調用onDraw方法。欲瞭解更多信息,請參閱official documentation