2014-06-05 194 views
55

我以編程方式創建linearLayouts,並希望它們在可見性設置爲可見/消失時淡入和淡出。以編程方式設置android:animateLayoutChanges

我可以在XML文件設置

android:animateLayoutChanges="true" 

,但因爲我編程方式創建的意見,我需要通過編程設定。我怎樣才能做到這一點?

回答

91

使用此代碼:

container.setLayoutTransition(new LayoutTransition()); 

LayoutTransition lt = new LayoutTransition(); 
lt.disableTransitionType(LayoutTransition.DISAPPEARING); 
container.setLayoutTransition(lt); 
+1

謝謝你的評論,但遺憾的是disableTransitionType只可從API級別16獲得,但是我使用API​​級別15. – deimos1988

+2

這是可選的,您可以使用簡單的「包含er.setLayoutTransition(new LayoutTransition())' – user3709904

+2

好的,但是如果我想禁用淡出效果,API級別15有沒有辦法? – deimos1988

10

要禁用淡出效果試試這個:

LinearLayout layout = (LinearLayout) findViewById(R.id.test_layout); 
layout.setLayoutTransition(null); 
+2

這是給我的NullPointerException。 –

+1

@SrujanBarai然後,沒有視圖與ID R.id. test_layout'在你的佈局。 –