के साथ काम नहीं करते हैं मेरे ऐप में एक दृश्य होता है जिसमें एक दृश्यपटल होता है जिसमें कुछ हद तक टुकड़े होते हैं। जब आप इनमें से किसी एक टुकड़े में किसी आइटम पर क्लिक करते हैं, तो अपेक्षित व्यवहार साझा तत्व (इस मामले में एक छवि) के लिए खंड में संक्रमण के लिए होता है जो क्लिक की गई सामग्री के बारे में अधिक जानकारी प्रदर्शित करता है।टुकड़ा साझा तत्व संक्रमण ViewPager
https://dl.dropboxusercontent.com/u/97787025/device-2015-06-03-114842.mp4
यह सिर्फ एक Fragment-> टुकड़ा संक्रमण का उपयोग किया जाता है:
यहाँ यह कैसा दिखना चाहिए का एक बहुत ही सरल वीडियो है।
समस्या तब उत्पन्न होती है जब आप ViewPager के अंदर प्रारंभिक खंड डालते हैं। मुझे संदेह है क्योंकि यह व्यूपार्जर अपने मूल खंड के बच्चे के टुकड़े प्रबंधक का उपयोग करता है, जो गतिविधि के खंड प्रबंधक से अलग है, जो खंड लेनदेन को संभालने वाला है।
https://dl.dropboxusercontent.com/u/97787025/device-2015-06-03-120029.mp4
मैं यहां मुद्दा यह है बहुत कुछ कर रहा हूँ के रूप में मैं ऊपर बताया गया बच्चा टुकड़ा प्रबंधक बनाम गतिविधि का टुकड़ा प्रबंधक है: यह इस प्रकार होता का एक वीडियो है।
SimpleFragment fragment = new SimpleFragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.am_list_pane, fragment, fragment.getClass().getSimpleName());
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
TransitionSet enterTransition = new TransitionSet();
enterTransition.addTransition(new ChangeBounds());
enterTransition.addTransition(new ChangeClipBounds());
enterTransition.addTransition(new ChangeImageTransform());
enterTransition.addTransition(new ChangeTransform());
TransitionSet returnTransition = new TransitionSet();
returnTransition.addTransition(new ChangeBounds());
returnTransition.addTransition(new ChangeClipBounds());
returnTransition.addTransition(new ChangeImageTransform());
returnTransition.addTransition(new ChangeTransform());
fragment.setSharedElementEnterTransition(enterTransition);
fragment.setSharedElementReturnTransition(returnTransition);
transaction.addSharedElement(iv, iv.getTransitionName());
}
transaction.addToBackStack(fragment.getClass().getName());
transaction.commit();
यह ठीक काम करता है जब दोनों टुकड़े गतिविधि का टुकड़ा प्रबंधक द्वारा प्रबंधित कर रहे हैं, लेकिन जब मैं इस तरह की एक ViewPager लोड:
ViewPager pager = (ViewPager) view.findViewById(R.id.pager);
pager.setAdapter(new Adapter(getChildFragmentManager()));
के बच्चों यहाँ कैसे मैं संक्रमण बनाने रहा है ViewPager गतिविधि द्वारा प्रबंधित नहीं किया जा रहा है, और यह अब और काम नहीं करता है।
क्या यह एंड्रॉइड टीम द्वारा एक निरीक्षण है? क्या इसे खींचने का कोई तरीका है? धन्यवाद।
क्या आप कृपया अपनी गतिविधि, अभिभावक टुकड़ा और बाल टुकड़ा का पूरा कोड प्रदान कर सकते हैं? धन्यवाद :) –
मुझे नेस्टेड 'फ्रैगमेंट और साझा तत्व संक्रमणों के साथ भी समस्याएं थीं, [यहां] (http://stackoverflow.com/questions/29029970/fragment-shared-element-transition-not-working-in-nested -दृश्य) मेरा सवाल है। –
आप एडवेंटर को चाइल्डफ्रैगमेंट मैनेजर क्यों पास करते हैं, न कि FragmentManger? – EE66