2014-06-05 18 views
55

Tôi đang tạo linearLayouts theo chương trình và muốn chúng mờ dần vào và ra khi hiển thị được đặt thành hiển thị/biến mất.Cài đặt android: animateLayoutChanges theo lập trình

tôi có thể thiết

android:animateLayoutChanges="true" 

trong xml-file, nhưng kể từ khi tôi đang tạo ra các quan điểm lập trình, tôi cần phải đặt nó lập trình. Làm thế nào tôi có thể làm điều đó?

Trả lời

91

Sử dụng mã này:

container.setLayoutTransition(new LayoutTransition()); 

hoặc

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

Cảm ơn bạn đã bình luận của bạn, nhưng tiếc là disableTransitionType duy nhất là có sẵn từ cấp API 16, tuy nhiên tôi đang sử dụng cấp API 15. – deimos1988

+2

Đó là tùy chọn, bạn có thể sử dụng đơn giản 'chứa er.setLayoutTransition (mới LayoutTransition()) ' – user3709904

+2

Được rồi, nhưng nếu tôi muốn vô hiệu hóa hiệu ứng mờ dần, có cách nào cho API cấp 15 không? – deimos1988

10

Để vô hiệu hóa hiệu ứng fade-out thử điều này:

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

Điều này cho tôi NullPointerException. –

+1

@SrujanBarai Sau đó, không có chế độ xem nào có id 'R.id. test_layout' trong bố cục của bạn. –

Các vấn đề liên quan