2010-07-05 52 views
2

最近幾天我剛剛開始玩Android,並已開始組裝一個簡單的應用程序。我正在努力研究,我是以「正確」的方式做事還是爲自己生活困難。正確的方式來做自定義按鈕的滾動視圖?

該應用程序在屏幕上顯示一系列連接節點,類似於思維導圖。我希望能夠點擊節點以編輯它們。當節點的地圖變得比屏幕大時,我需要能夠根據需要滾動X軸和Y軸以查看整個地圖。當前執行的圖像在http://ubergeek.org.uk/images/nodetest.png

目前我沒有滾動工作,但我認爲我可以做到這一點通過使根視圖ScrollView和堅持一個AbsoluteLayout裏面(雖然它已棄用,我希望將對象放置在特定的X/Y座標)。

節點本身當前每個都是一對roundrects(一個用於輪廓和一個用於填充)和一個drawText,並且正在主活動的onDraw()中繪製。爲了製作這些可點擊的按鈕,我相信我需要爲按鈕創建一個自定義視圖,以便使用它的onClick()事件。然後,我可以爲每個節點創建一個視圖對象,並將它們添加到AbsoluteLayout視圖。

這聽起來像一個合理的方式來做到這一點在Android,或者這是一個可怕的濫用API? :)

謝謝!

回答

1

不,這聽起來是正確的。你只需要確保ScrollView包含的視圖具有正確的尺寸,這樣滾動條就會顯示正確,但我相信你已經覆蓋了。

這當然有點不標準,但我很想說你的方法會正常工作......我甚至可以說這不是黑客行爲。請告訴我們它是如何運作的,如果有什麼突破的話!

(順便說一句,SDK提到你應該編寫自己的佈局,而不是使用AbsoluteLayout。個人而言,我會說使用AbsoluteLayout。)