2017-11-02 12 views
3

나는 제약 레이아웃 안에 TextView를 가지고 있습니다. 보기가 화면에서 벗어나는 방식으로 애니메이션을 적용하려고합니다. 이 화면 애니메이션보기 안드로이드 제약 레이아웃의 스크린

ConstraintSet constraintSet = new ConstraintSet(); 
ConstraintLayout layout = (ConstraintLayout)holder.mView; 
constraintSet.clone(layout); 

constraintSet.clear(R.id.txt_PackageTitle,ConstraintSet.TOP); 
constraintSet.clear(R.id.txt_PackageDescription,ConstraintSet.TOP); 
constraintSet.clear(R.id.txt_PackageTitle,ConstraintSet.BOTTOM); 
constraintSet.clear(R.id.txt_PackageDescription,ConstraintSet.BOTTOM); 

constraintSet.setMargin(R.id.txt_PackageTitle,ConstraintSet.TOP,-600); 
constraintSet.setMargin(R.id.txt_PackageDescription,ConstraintSet.TOP,-1200); 

ChangeBounds transition = new ChangeBounds(); 
transition.setInterpolator(new BounceInterpolator()); 
transition.setDuration(600);     
TransitionManager.beginDelayedTransition(layout,transition); 
        constraintSet.applyTo(layout); 

지금이 코드는 그 뷰의 외출 사라지고 있지 뷰의 맨에 내용을 이동, 내가 지금까지했던 것입니다.

제한 레이아웃에서 어떻게 할 수 있습니까?

+0

첫 번째보기는 제거/배치보다는 화면 밖으로 나옵니다. – Mikhail

+0

붕괴 레이아웃을 사용하여 원하는 것을 얻으십시오 –

+0

@Mikhail 어떻게해야합니까? –

답변

3

대신 TextView의 바닥 제약 조건을 삭제의이 같은 ConstraintLayout의 상단에 바닥을 제약하려고 : 뷰를 애니메이션 때

constraintSet.connect (R.id.txt_PackageTitle, 
      ConstraintSet.BOTTOM, 
      PARENT_ID, 
      ConstraintSet.TOP); 

지금, 그것은 위쪽 가장자리를 밀어해야합니다.

here과 같이 음수 여백은 ConstraintLayout과 함께 지원되지 않습니다.