2010-11-05 159 views
1

我正在嘗試圍繞視圖進行動畫,因爲它的子視圖上的setVisible會更改大小。 我有查看這樣的:動畫查看大小changed

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_height="wrap_content" 
android:layout_width="fill_parent" 
android:background="@drawable/roundedtable_filled" 
android:layout_margin="8dip" 
android:orientation="vertical"> 
    <TextView 
    android:id="@+id/title" 
    style="@style/appInfoTextBold" 
    android:text="Jakie dane powinna uwzględniać reklamacja?" /> 
    <TextView 
    android:id="@+id/text" 
    style="@style/appInfoText" 
    android:text="Kochasz kino? Z niecierpliwością czekasz na kolejne odcinki swoich ulubionych seriali? Marzysz o przeprowadzce do Hollywood? Jeśli tak, to vod.onet.pl jest serwisem właśnie dla Ciebie." /> 
</LinearLayout> 

標題點擊更改文本的Visibilisty。現在我想要有一個不斷增長的視圖尺寸的動畫。什麼是正確的方法來做到這一點? 也許我不應該改變文本的可見性,而是嘗試調整線程中的視圖的大小,所以它會更大,每40毫秒或這樣?

回答

0

您應該可以創建一個ScaleAnimation,將視圖從某個分數大小縮放到其全部大小。在您將其設置爲可見的同時開始動畫。你可能也想在(AlphaAnimation)中淡入它,這樣它就不會閃爍,除非你從零開始放大(這會使它不可見,因爲它沒有大小開始)。縮放文字看起來不會太好,但如果動畫很快就可能就足夠了。

+0

謝謝回覆,我放棄了這個動畫。我試圖像你的方式,它會爲單個項目工作,但問題是,這個佈局是在ListView中的項目,所以我得到的是setVisible後,我有空的地方和不斷增加的動畫。這正是您在Google IO上對動畫框架所說的話,它只是以不同的方式繪製視圖,其他部分的佈局並不知道它。所以有很多解決方法來改變我的視圖實際大小(listView已知的大小)並將其與動畫同步。順便提一下,關於新的動畫框架IO的gr8演示。 – Mikooos 2011-05-26 10:34:31

+0

儘管縮放視圖(在舊系統或新系統中)仍然不會改變其佈局方面的大小,但新的動畫框架確實使這種東西更容易。如果你真的想改變佈局邊界,考慮動畫LayoutParams值(在舊系統中比較棘手,因爲所有的動畫都是特定於Views的,有必要討論這個事實)。或者執行比例,然後在最後更改佈局以適應對象的新縮放大小。還請注意,「縮放」視圖不一定看起來像「調整大小」視圖。 – 2011-05-26 18:49:53