2016-11-07 5 views
3

타임 라인이있는 Android 앱을 만들고 있습니다. 나는 ListView을 사용하여 타임 라인 효과를 만들었습니다. ListViewItem을 클릭하면 makeSceneTransitionAnimation을 사용하여 자세한보기를 표시합니다. 세부적인 화면에서 뒤로 버튼을 누르는 경우를 제외하고는 모두 잘 작동합니다. makeSceneTransitionAnimations은 처음 클릭 한 행 위의 행에 페이지를 애니메이션으로 표시 한 후 나중에 화면을 깜박입니다. makeSceneTransitionAnimation 뒤로 버튼 글리치

내가 애니메이션을 만드는 데 사용하는 코드입니다 :

View timelineObject = view.findViewById(R.id.transition); 
    timelineObject.setTransitionName("selectClientTransition"); 

    Intent intent = new Intent(this, DetailActivity.class); 

    ActivityOptionsCompat options = ActivityOptionsCompat. 
      makeSceneTransitionAnimation(this, timelineObject , "selectClientTransition"); 
    this.startActivity(intent, options.toBundle()); 

내 세부 활동에서 뒤로 버튼을 재정의하는 시도를하지만 난으로 목록보기 항목의 위치를 ​​통과 할 수있는 방법을 볼 수 없습니다 매개 변수는 makeSceneTransitionAnimation입니다.

+0

당신이 응용 프로그램을 실행하기위한 에뮬레이터 또는 모바일을 사용하고 내부 – Raj

답변

0
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
     getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS); 
     Explode explode = new Explode(); 
     getWindow().setExitTransition(explode); 
    } 
    super.onCreate(savedInstanceState);  


/*------Your code When the list item is click------*/ 
Intent intent = new Intent(context1, Main_testcollapse.class); 
       intent.putExtra("time", list.get(pos).getTime()); 
       if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { 
        ActivityOptions activityOptions = ActivityOptions.makeSceneTransitionAnimation((Activity) context1, view, "cardname"); 
        startActivity(intent, activityOptions.toBundle()); 
       } else { 
        startActivity(intent); 
       } 

또 다른 활동에서 onCreate

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
     getWindow().setAllowEnterTransitionOverlap(false); 
     Slide slide=new Slide(Gravity.END); 
     getWindow().setReturnTransition(slide); 
    }