2012-03-07 22 views
23

मैं निम्नलिखित कोड का उपयोग कर गतिविधि एक है, जो एक वीडियो देखें शामिल से एक गतिविधि बी बोल रहा हूँ:अक्षम संक्रमण एनीमेशन गतिविधियों के बीच

Intent intent = new Intent(this, B.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); 
startActivityForResult(intent, 0); 

मैं Intent.FLAG_ACTIVITY_NO_ANIMATION उपयोग कर रहा हूँ संक्रमण एनीमेशन से बचने के लिए, जबकि नई गतिविधि बुलाया जा रहा है। लेकिन यह मेरे लिए काम नहीं कर रहा है और संक्रमण के दौरान एक ब्लैक स्क्रीन आ रही है। क्या इस संक्रमण एनीमेशन और ब्लैक स्क्रीन से बचने का कोई तरीका है, ताकि उपयोगकर्ता यह नहीं जान पाए कि वीडियो दृश्य को नई स्क्रीन में बुलाया जा रहा है?

+0

इस प्रयास करें: http://stackoverflow.com/questions/6972295/switching-activities-without-animation या यह: http://stackoverflow.com/questions/2286315/disable-activity-slide-in-animation-when-launching- new-activity –

उत्तर

7

यदि आप इसे करने के लिए सभी गतिविधियों तो इस तरह से यह करना चाहते हैं:

switching activities without animation

बस प्रकट में प्रत्येक गतिविधि के लिए कोई एनीमेशन के साथ शैली आवंटित ।

या कोड के माध्यम से इस तरह से यह कार्य करें:

Disable activity slide-in animation when launching new activity?

50

कोशिश बुला:

Intent intent = new Intent(this, B.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); 
startActivityForResult(intent, 0); 
overridePendingTransition(0,0); //0 for no animation 
+0

यह मेरे लिए भी धन्यवाद! त्वरित सवाल, आप केवल प्रारंभिकता() की बजाय startActivityForResult() का उपयोग क्यों कर रहे हैं? मुझे वही वांछित परिणाम (कोई एनीमेशन नहीं) दोनों के साथ मिलता है? –

+4

@EvanM आपको startActivityForResult() का उपयोग करने की आवश्यकता नहीं है। यदि आप अगली गतिविधि से "परिणाम" वापस प्राप्त करना चाहते हैं तो आप इसका उपयोग केवल तभी करेंगे। –

+0

बस 'intent.addFlags (Intent.FLAG_ACTIVITY_NO_ANIMATION) का उपयोग करके;' मेरे लिए काम किया। – Micro

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