2012-06-25 22 views
6

यहां पर काफी सरल सवाल है, लेकिन मुझे ऐसा लगता है कि यह पहले से ही पूछे गए हैं। सबसे अधिक संभावना सही कीवर्ड का उपयोग नहीं कर रहे हैं।गतिविधियों के बीच स्विचिंग: पिछली गतिविधि को छिपाएं

मैं एक नई गतिविधि जिसमें मैं एक वेब दृश्य दिखाने की शुरूआत कर रहा हूँ:

किसी भी मामले में, यहाँ मेरी परिदृश्य है। जब मैं नई गतिविधि में स्विच करता हूं, तो मैं एनीमेशन प्राप्त करने के लिए ओवरराइड पार्टिंग ट्रांसलेशन कहलाता हूं, जो ठीक काम करता है (कम से कम, एनीमेशन भाग ठीक काम करता है)। हालांकि, कुछ चीजें हैं जो प्रभाव से दूर होती हैं।

मैं चाहता हूं कि पिछली गतिविधि पर वेबव्यू स्लाइड को नीचे से, और जब उपयोगकर्ता वापस दबाए, तो उसे साइट से बाहर स्लाइड करना चाहिए। इसका दूसरा भाग एक आकर्षण की तरह काम करता है, लेकिन पहला भाग बिल्कुल वैसा ही नहीं है जो मैं चाहता हूं।

नई गतिविधि को ट्रिगर करने के तुरंत बाद, पुराना छुपा हुआ है, और इसकी जगह कालाता है, इसलिए ऐसा लगता है कि वेबव्यू ब्लैकनेस पर स्लाइड करता है। मैं इसे छिपाने की बजाय पृष्ठभूमि में पिछली गतिविधि छोड़ना चाहता हूं, इसलिए वेबव्यू उस पर स्लाइड करता है। क्या यह संभव है?

धन्यवाद!

उत्तर

1

अपनी कस्टम संक्रमण एनीमेशन एक्सएमएल संसाधन फाइलें बनाएं जो वांछित प्रभाव प्राप्त करें और अगली गतिविधि शुरू करने से पहले Activity.overridePendingTransition को कॉल करें।

+0

मेरे पास वे हैं, मुझे बाहर निकलने वाली एनीमेशन में कहने के तरीके के बारे में पता नहीं है "रहें और दृश्यमान रहें" – Droidmon

+3

ठीक है, यह मूर्खतापूर्ण है, लेकिन मैंने अभी बनाया है एनीमेशन जो मूल रूप से कुछ भी नहीं करता है, और उसी समय के लिए रहता है जब वेबव्यू के लिए एनीमेशन करता है। (मैं सिर्फ xDelta का अनुवाद 0% से 0% तक करता हूं, जिसका अर्थ है, जाहिर है, यह कहीं भी नहीं जाता है, लेकिन यह अभी भी काले रंग में बदलने की बजाए पृष्ठभूमि में खींचा जाता है) – Droidmon

+1

यही वह है जो मैंने किया है, बस एक 0 से 0 संक्रमण। एंड्रॉइड थोड़े अजीब लॉल है – trapper

1

यह धीमा हो सकता है, लेकिन क्या आपने गतिविधि के लिए एक अलग विषय का उपयोग करने की कोशिश की है?

चेक this आउट।

+0

सेटथीम वाले लोगों का एक समूह का प्रयास किया, लेकिन कुछ भी अलग नहीं देखा। हालांकि लिंक के लिए धन्यवाद, मैं एक कस्टम थीम बनाने का प्रयास कर सकता हूं। – Droidmon

+0

गतिविधियों के बजाए टुकड़ों का उपयोग करने के बारे में कैसे? Google वैसे भी उनका उपयोग करने का सुझाव देता है ... –

11

मैं यहां एक ही चीज़ की तलाश में आया लेकिन वर्तमान उत्तरों में कोई मदद नहीं थी। मुझे उम्मीद है कि सवाल पूछने के चार महीने बाद यह मदद करता है!

  • यह केवल होता है अगर exitAnim 0 है,
  • यह केवल 'का अनुवाद' तत्वों के साथ होता है:

    मेरी राय में, इस वजह से एंड्रॉयड प्लेटफॉर्म में एक बग के कारण है। 'अल्फा' तत्व (फीका-इन, फीड-आउट) ठीक काम करते हैं।

    @Override 
    protected void onResume() { 
        overridePendingTransition(R.anim.mu_slide_in_left, R.anim.mu_no_anim); 
        super.onResume(); 
    } 
    
    @Override 
    protected void onPause() { 
        overridePendingTransition(0, R.anim.mu_slide_out_right); 
        super.onPause(); 
    } 
    

    कहाँ mu_no_anim.xml

    <?xml version="1.0" encoding="utf-8"?> 
    <alpha xmlns:android="http://schemas.android.com/apk/res/android" 
        android:interpolator="@android:anim/accelerate_interpolator" 
        android:fromAlpha="1.0" android:toAlpha="1.0" android:duration="100000" /> 
    

    तो इस से यह फीका करने के लिए विश्वसनीय अल्फा तंत्र को निर्दिष्ट करके दिखाई रहने के लिए बाहर जाने वाले गतिविधि मजबूर कर रहा है है:

यहाँ मेरी समाधान नहीं है अल्फा 1 से अल्फा 1 से 100 सेकंड - दूसरे शब्दों में, बस इसे पूरी तरह से दृश्यमान रखें।

कामकाज पूरी तरह से सही नहीं है। उदाहरण के लिए, यदि आपकी नई गतिविधि को संवाद से बुलाया जाता है, तो डायलॉग इस तरह दिखेगा कि इसे गतिविधि स्लाइड के रूप में खारिज कर दिया गया है - लेकिन यह उस गतिविधि को बंद करने के बाद फिर से वापस आ जाएगा।

1

देरी निकास एनीमेशन का उपयोग करने के बजाय, आप खिड़की पारदर्शी बनाने के लिए प्रवेश गतिविधि की थीम में एक संपत्ति जोड़ सकते हैं - ताकि आप पिछली गतिविधि के माध्यम से देख सकें।

<style name="EnteringActivity.Theme" parent="@android:style/Theme.Holo.Light"> 
    [...] 
    <item name="android:windowIsTranslucent">true</item> 
    [...] 
</style> 

नोट:

<item name="android:windowBackground">@color/transparent</item> 
1

मैं एक काली स्क्रीन हो रही की एक ऐसी ही समस्या संक्रमण रपट पर प्रकट किया था: यदि आप एक संवाद गतिविधि पैदा कर रहे हैं, आप भी गतिविधि के विषय पर निम्नलिखित संपत्ति की आवश्यकता होगी overridependingtransition का उपयोग कर एक गतिविधि से दूसरे में। और मैं नीचे रास्ते पीछा किया और यह

1 काम किया)

<?xml version="1.0" encoding="utf-8"?> 

    <translate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="@android:integer/config_longAnimTime" 
    android:fromYDelta="0%p" 
    android:toYDelta="0%p" /> 

anim फ़ोल्डर में एक noanim.xml बनाया है और अपने मूल एनीमेशन और दूसरा पैरामीटर के रूप में

overridePendingTransition(R.drawable.lefttorightanim, R.anim.noanim); 

पहले पैरामीटर का उपयोग किया जो बाहर निकलने वाली एनीमेशन है क्योंकि मेरी डमी एनीमेशन

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