2017-09-10 8 views
-1

를 사용하여 단편 공유 요소 전환 ViewPager

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
     view.setTransitionName("pic"); 

    ActivityOptionsCompat a=ActivityOptionsCompat.makeSceneTransitionAnimation((Activity) context,view,view.getTransitionName()); 

    Intent i3=new Intent(context,MovieInfo.class); 
    i3.putExtra("id",view.getId()); 
    startActivity(i3,a.toBundle()); 
    } 

내 조각 클래스에서

사용하고 내 활동이 코드를 사용하고이

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 

     getActivity().getWindow().setSharedElementExitTransition(TransitionInflater.from(getActivity()).inflateTransition(R.transition.shared_element_transition)); 
    } 
} 

나는 또한 주요 활동에 사용 시도 하지만 공유 요소 전환을 달성 할 수 없지만 내 활동 전환으로 돌아 가면 잘 작동 코드의 나머지 부분을 의미합니다 괜찮아!
도움을 주시면 감사하겠습니다.

답변

0

먼저 당신이

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="android:windowContentTransitions">true</item> 
    . 
    . 
</style> 

다음 활동에서 레이아웃 모두 모두 공유 요소

android:transitionName="transition_name" 

을 같은 transitionName 속성을 추가 styles.xml에 앱 테마에 windowContentTrasition 수 있도록하기 위해 만들 필요가 이 의도는 다음과 같습니다.

ActivityOptionsCompat options = ActivityOptionsCompat. 
    makeSceneTransitionAnimation(this, view, "transition_name"); 

Intent intent = new Intent(this, MovieInfo.class); 
startActivity(intent, options.toBundle()); 
+0

DetailsActivity.class는 내 조각 또는 활동입니다. 수업? – phpdroid

+0

MovieInfo.class가됩니다. 그 대답은 –

+0

에서 업데이트 될 것입니다. 문제는 전환 될 이미지가 MovieInfo.class 내의 Fragment에 있습니다. – phpdroid