2012-06-14 56 views
1

是否可以使用Honeycomb之前的API在XML中旋轉視圖 - 也許是使用支持包?或者是創建自定義類的唯一方法,如此處所述Vertical (rotated) label in Android在XML預蜂窩中旋轉(而不是動畫)視圖?

編輯:我需要的是一個靜態旋轉的視圖(特別是一個TextView,但我猜它足以知道如何用View實現)。從honeycomb開始,有一個可以在XML中使用的旋轉屬性。我需要那樣的東西。

我到目前爲止發現的唯一一件事情是使用持續時間爲0的動畫,但這在開始時仍會稍微移動一點,我不想那樣做。我嘗試將視圖設置爲不可見,並將一個監聽器附加到動畫上,使動畫在動畫完成回調中可見,但這樣做會產生奇怪的結果......出於某種原因改變了視圖的位置。

回答

2

最好的方法是鏈接到自定義子類實現,您可以在其中旋轉畫布並適當調整視圖的大小。這確保了視圖邊界也被設置爲與繪製的文本匹配。

外部之前HC轉化視圖的唯一方法是動畫的框架,以及將Animation到爲0的持續時間和fillAfter設置爲true 視圖將工作,但你可能會注意到閃爍在某些設備上作爲通常情況下,視圖會在其第一幀上正常渲染,然後從該點開始動畫到其最終位置。你可以通過隱藏視圖並稍微顯示來解決這個問題......但是你可以看到黑客是如何開始疊加的。

另外,在HC之前做一個Animation本身並不會改變視圖邊界,所以你將無法整齊地打包這個視圖的其他視圖,因爲它從佈局視角的位置仍然是計算出的矩形水平(非旋轉)文本。

簡單的子類絕對是首選的方法。

HTH

1

是否有可能與以前的API在旋轉XML意見蜂窩

RotateAnimation。但是,取決於您要完成的任務,可能無法滿足您的需求。

+0

我想有一個45度旋轉(靜態,而不是動畫)的TextView。現在發現這是http://stackoverflow.com/questions/6952926/rotate-text-on-a-button?lq=1它是一個持續時間爲0的動畫,可能是有效的。 – Ixx