2016-11-07 234 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); 
    }