2011-12-08 179 views
1

我正在嘗試創建一個迷你進度條,用於指示用戶使用了多少數據。它甚至不需要動畫,我只需要根據我設置的變量來改變大小。所以當我加載屏幕時,進度條填滿的程度取決於我在Java中設置的變量。垂直縮放Android圖像

我設法得到這種水平的工作,通過使用

scale = new ScaleAnimation(0.0f, 1.5f, 1.0f, 1.0f,1.0f, 1.0f); 

這將啓動從一無所有的形象和伸出它的全尺寸,這樣我就可以把它當作一個水平進度條這是偉大的。

現在我會認爲,這樣做垂直,而不是隻是將fromY更改爲0和toY到我想要的新大小。但是,當我這樣做時,通過將fromY更改爲0.0f,將toY更改爲2.0f,圖像實際上會同時移動並拉伸,而不是拉伸。由於某種原因,圖像也會移動位置。它的起點高於我在使用XML時的位置,並且向下移動到原來的位置並延伸到我設置的新比例。

我用它來嘗試和伸展它垂直的代碼是

scale = new ScaleAnimation(1.0f, 1.0f, 0.0f, 2.0f, 1.0f, 1.0f); 

所以有人可以解釋爲什麼它橫跨水平很好,但是當我嘗試垂直拉伸它,它突然移動和stretchs在同一時間。

非常感謝任何幫助。

+1

這聽起來像是您從圖像外部的參考點縮放圖像。我相信你想使用該中心。方法調用中的最後兩個值應該是縮放對象的點的x/y座標。因此,請確保這些是酒吧的中心 – Wozza

+0

但爲什麼這不是水平縮放問題?對於水平縮放,我只是把它們留在最後兩個1.0f處,並且圖像保持在同一個地方。 – AdamM

+0

實際上找出了它。你們對最後兩個人是對的,我開始搞亂他們,因爲他們似乎沒有做任何事情。結束了改變最後一個到50.0f,現在它完美的作品,歡呼 – AdamM

回答

1

我很感謝你解決了你提到的動畫問題,但是根據你說你甚至不需要酒吧來製作動畫,ClipDrawable課可能會讓你的生活變得更簡單。您可以在xml佈局中定義一個,然後從您的代碼中設置剪輯級別,這將按給定的數量剪裁給定的drawable。

檢查了這一點,瞭解如何使用它的詳細信息:

http://developer.android.com/guide/topics/resources/drawable-resource.html#Clip

希望這是一些幫助。

+0

其實這將是完美的下一個功能,我必須創建,歡呼聲 – AdamM