6

प्रभाव जो मैं प्राप्त करना चाहता हूं वह निकास (पुराना) खंड, के ऊपर प्रवेश (नया) टुकड़ा ओवरले करना है, लेकिन जब मैं पुराने टुकड़े को नए टुकड़े से बदल रहा हूं, तो पुराना व्यक्ति गायब हो जाता है और नया टुकड़ा कंटेनर को स्लाइड करता है, जो दृश्यमान (कंटेनर) है।एनिमेटिंग के दौरान निकास खंड के ऊपर प्रवेश खंड कैसे दिखाएं।

मैं पुराने टुकड़े को एनिमेट नहीं करना चाहता, बस पुराने टुकड़े को बनाए रखना और जब यह दिखाई दे रहा है तो ऊपर के नए टुकड़े को स्लाइड करें।

// First time adding fragment i.e. "oldFragemnt" 
FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 
ft.replace(R.id.content_frame, oldFragment, "oldFragemnt"); 
ft.addToBackStack(null); 
ft.commit(); 

// while adding "newFragemnt" 
FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 
ft.setCustomAnimations(R.anim.new_slide_in_up,0,0,R.anim.new_slide_out_down);         
ft.replace(R.id.content_frame, newFragment, "newFragemnt"); 
ft.addToBackStack(null); 
ft.commit(); 

मेरा मार्गदर्शन मैं कहाँ गलत हो रहा हूँ:

नीचे मेरी कोड है। मेरा पुराना टुकड़ा गायब हो रहा है जबकि नया टुकड़ा फिसल रहा है।

+1

क्या आप [यह] चाहते हैं (http://trickyandroid.com/fragments-translate-animation/)? –

+0

आपको दोनों टुकड़े को प्रतिस्थापित नहीं करना है क्योंकि नाम स्वयं ही बताता है कि यह बदल रहा है, यही कारण है कि आपका पुराना टुकड़ा हटा रहा है। –

उत्तर

0

नया टुकड़ा इस तरह एक एनीमेशन (जो आप पहले से ही कर रहा हो सकता है) दर्ज होना चाहिए: enter.xml

<set xmlns:android="http://schemas.android.com/apk/res/android" 
android:shareInterpolator="false" > 

<translate 
    android:duration="400" 
    android:fromXDelta="90%" 
    android:fromYDelta="0%" 
    android:toXDelta="0%" 
    android:toYDelta="0%" 
    android:zAdjustment="top" /> 

वर्ष टुकड़ा तरह एक ही स्थान पर रहना चाहिए पकड़ो। hold.xml

<set xmlns:android="http://schemas.android.com/apk/res/android" 
android:shareInterpolator="false" > 

<translate 
    android:duration="400" 
    android:zAdjustment="bottom" /> 

+0

अभी भी मेरा पुराना टुकड़ा – Dory

+0

दिखाई नहीं दे रहा है और मैं पुराने टुकड़े को एनिमेट नहीं करना चाहता, यह तब तक पृष्ठभूमि में दिखाई देना चाहिए जब तक कि नया टुकड़ा स्लाइड न हो जाए। – Dory

0

आप प्रभाव आप चाहते प्राप्त करने के लिए जोड़ें() के साथ बदलें() को बदलने के लिए कोशिश कर सकते हैं। आशा है कि यह आपकी मदद करेगा।