2012-08-28 8 views
23

मैं समर्थन लाइब्रेरी का उपयोग कर रहा हूं। अब, मैं नीचे से आगे बढ़ने के लिए नीचे से एक टुकड़ा स्थानांतरित करना चाहता हूं।टुकड़े, एंड्रॉइड: zAdjustment (z ऑर्डर) और एनिमेशन

इस मैं इस का उपयोग पिछले टुकड़ा (एक है कि अधिक slided जा रहा है) रखने के लिए दिख रहा जब तक नया टुकड़ा उसके स्थान पर है के लिए:

<alpha xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromAlpha="1.0" android:toAlpha="1.0" 
    android:duration="2500" 
    android:zAdjustment="bottom" /> 

इस स्लाइड करने के लिए नया टुकड़ा के लिए इस्तेमाल किया जाता है एनीमेशन में नीचे से:

<set xmlns:android="http://schemas.android.com/apk/res/android"> 
<translate android:fromYDelta="100%p" android:toYDelta="0" 
     android:duration="@android:integer/config_mediumAnimTime" 
     android:zAdjustment="top"/> 

मैं नीचे और दोनों के लिए शीर्ष करने के लिए जेड समायोजन डाल दिया है, लेकिन अभी भी 'सबसे नीचे' एनीमेशन नया टुकड़ा के शीर्ष पर अब भी है ! मैंने परीक्षण के लिए अवधि 2500 तक रखी है और यह पूरे समय के लिए शीर्ष पर रहता है।

क्या zAdjustment खंड एनिमेशन के लिए काम नहीं करता है?

+0

क्या आपको पिछले टुकड़े को दिखने वाले टुकड़े के नीचे दिखाई देने के लिए मजबूर करने का कोई तरीका मिला? –

+0

मुझे यकीन नहीं है कि मैंने यह काम करने के लिए क्या किया है। मुझे अपना कोड जांचना होगा लेकिन इस समय संभव नहीं है। – Boy

+1

जहां आप किसी भी तरह से खंड एनिमेशन में जेड-इंडेक्स को समायोजित करने में सक्षम हैं? यदि आप हमारे साथ साझा करते हैं तो यह बहुत उपयोगी होगा। – cprcrack

उत्तर

9

this के अनुसार Google समूह थ्रेड जेड समायोजन केवल विंडो एनिमेशन के लिए काम करता है।

"जेड समायोजन केवल विंडो एनिमेशन के लिए काम करता है। मैंने सोचा कि यह दस्तावेज था, लेकिन स्पष्ट रूप से नहीं।" - डियान हैकबर्न (एंड्रॉइड फ्रेमवर्क इंजीनियर)

+9

तो कुछ संभावित कामकाज क्या हैं? – Marchy

3

मैं भी उस समस्या से फंस गया हूं। transaction.replace(containerId, newFragment) का उपयोग कर के बजाय मैं टुकड़े के लिए दो कंटेनर बना लिया है और अब मेरी कोड लगता है कि यह एक

पहले टुकड़ा जोड़ें:

transaction.add(containerId1, firstFragment).commit(); 

पहले एक से अधिक एनीमेशन के साथ दूसरा टुकड़ा जोड़ें:

findViewById(containerId2).bringToFront(); 
transaction.setCustomAnimations(R.anim.slide_in_up, 
R.anim.stay).remove(oldFragment).add(containerId2, newFragment).commit() 

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

  • कोई संबंधित समस्या नहीं^_^