2012-04-12 64 views
0

我總是對此感到困惑,因此我需要一個關於如何去做的指針。如果創建一個包含多個imagesview和文本視圖的xml佈局。並且讓我們說我想在兩個圖像之間畫線並沿着這條線移動一個圖像。我如何畫這條線?我知道我可以得到兩個圖像視圖的位置,所以我有x1,y1和x2,y2。我的問題是繪畫。在屏幕上繪圖,我需要表面視圖嗎?

我是否需要表面視圖來獲得圖形功能並在屏幕上加載位圖?

如果是的話,那麼我想我應該總是表面看來填充屏幕和頂部的意見只需要我需要繪製哪些似乎有點不對?

如果沒有(我希望這就是答案),那麼我該如何繪製線條,或僅使用X,Y值在屏幕上加載位圖?

我希望我能夠解釋一下我的困惑 感謝

編輯:其實我的吼聲更好地解釋我的困惑的一種方式。 當你創建一個XML佈局的活動,您有什麼樣

onCreate(){ 
setContentView(R.id.layout) 
} 

,但是當你有圖紙觀活動您有類似

onCreate(){ 
SurfaceView v = new Surfaceview(this); 
setContentView(v) 
} 

我的問題是,我們必須設置內容佈局無論是xml佈局還是繪圖區域。如果我想將其設置爲我的xml佈局,同時我可以在屏幕上的任意位置繪製(在圖像視圖,空白區域,TextViews ..等等)上怎麼辦?

查看我的問題?

回答

0

這取決於你想要的結果是什麼以及你需要多少靈活性。你可以看看這個android Animations tutorial(該網站在發佈時已關閉,但谷歌已將其緩存)。

如果您不需要靈活性,那麼對於您的生產線,您可能可以在xml中創建View,填充顏色爲android:background,尺寸使其看起來像您希望的那樣。然後,您可以在位圖的ImageView上使用Animation將其翻譯爲一行,並根據需要在Animation上使用偵聽器來顯示/隱藏各種Views

如果您需要靈活性,SurfaceView可能是您最好的選擇。

+0

謝謝你的回答。是的,我對動畫很熟悉,也知道我是如何實現自己想要的。但是當我習慣在java SDK中編寫代碼時,我會有一個while循環並在重要的位置重新繪製圖像。我看到我不能在這裏沒有表面視圖。不過,表面視圖似乎告訴我:「無論是我還是XML佈局」。這是因爲setcontentview只需要一個參數 – Snake 2012-04-13 05:05:23

+0

如果您告訴它將從點A轉換到點B,Android的'Animation'類將爲您重繪。 – 2012-04-13 14:34:11