2016-10-05 8 views
7

मैं एंड्रॉइड के लिए एक निचला नवाचार दृश्य लागू करता हूं और मेरे पास कुछ खंड हैं जो नीचे दिए गए पृष्ठ के रूप में दिखने के लिए हैं। Google Material Design Guide Lines के अनुसार मैं क्रॉस फीड एनीमेशन के साथ टुकड़े दिखाना चाहता हूं।एंड्रॉइड व्यूपेजर क्रॉसफ़ेड एनीमेशन

नीचे नवाचार के आइटम को छूकर मेरा ViewpPager डिफ़ॉल्ट स्लाइड एनीमेशन के साथ टुकड़े बदलता है।

मैंने this और this में कुछ समाधान पढ़े। लेकिन ये वास्तव में फीका एनीमेशन नहीं हैं और मैं लुप्तप्राय अवधि निर्धारित नहीं कर सका।

तो क्या ViewPager के टैब को बदलने पर एनीमेशन सेट करने का कोई तरीका है?

उत्तर

2

अंत में, मुझे मेरा जवाब मिला।

मैंने व्यूपार्जर को अपने टुकड़े (एक फ्रेम लेआउट) रखने के लिए लेआउट के साथ बदल दिया। तब मैंने टुकड़े टुकड़े में टुकड़े जोड़ दिए।

BottomNavigation पर किसी आइटम को स्पर्श करके, वर्तमान खंड छिपाने और नए टुकड़े टुकड़े में परिभाषित फीका एनीमेशन के साथ दिखाए जाते हैं।

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main_page); 

    addFragmentsToManager(); 
} 

private void addFragmentsToManager() { 
    FragmentManager fragmentManager = getSupportFragmentManager(); 
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
    fragmentTransaction.setCustomAnimations(R.anim.fade_in, R.anim.fade_out); 

    fragmentTransaction.add(R.id.flContent, tripFragment, tripFragment.getClass().getSimpleName()); 
    fragmentTransaction.add(R.id.flContent, notificationFragment, notificationFragment.getClass().getSimpleName()); 
    fragmentTransaction.add(R.id.flContent, searchFragment, searchFragment.getClass().getSimpleName()); 
    fragmentTransaction.add(R.id.flContent, profileFragment, profileFragment.getClass().getSimpleName()); 

    fragmentTransaction.hide(tripFragment); 
    fragmentTransaction.hide(notificationFragment); 
    fragmentTransaction.hide(searchFragment); 
    fragmentTransaction.hide(profileFragment); 
    fragmentTransaction.commit(); 
} 

private void changeTab(int position) { 
    Fragment fragment; 
    switch (position) { 
     fragment = .....// get framgnet from position 
    } 

    FragmentManager fragmentManager = getSupportFragmentManager(); 
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
    fragmentTransaction.setCustomAnimations(R.anim.fade_in, R.anim.fade_out); 

    fragmentTransaction.hide(prvFragment); 
    fragmentTransaction.show(fragment).commit(); 
    prvFragment = fragment; 
} 
1

जोड़ने और टुकड़े छुपा के साथ एक समस्या है:

और यह मेरा कोड है।

जब आवेदन निष्क्रिय होता है और फोन नींद मोड में जाता है यदि आप गतिविधि में दिखाए गए सभी टुकड़ों को एप्लिकेशन पर वापस लौटते हैं और आप सभी लेआउट को एक में देखते हैं।

+0

हां, वहां हैं, और मुझे इसे हल करने का कोई तरीका नहीं मिल रहा है – FarshidABZ

संबंधित मुद्दे