2012-02-29 11 views
15

मैं अद्भुत फ्रेमवर्क नाइनऑल्ड एंड्रॉइड का उपयोग कर रहा हूं, लेकिन मुझे अपने एनिमेटेड दृश्यों पर पिवट सेट करने के लिए कुछ भी नहीं मिला। विशेष रूप से, मैं ऊपर-बाएं किनारे पर एक धुरी के साथ एक scaleX + scaleY एनीमेशन करने के लिए कोशिश कर रहा हूँ, इसलिए pivotX = 0 और pivotY = 0. हनीकोम्ब पर और उससे आगे मैं सिर्फ myView.setPivotX(0) और myView.setPivotY(0), सेट, लेकिन के लिए यह करने के लिए कैसे NineOldAndroids के साथ प्री-हनीकॉम डिवाइस? मैंने निम्नलिखित कोशिश की:नाइनऑल्ड एंड्रॉइड: सेट व्यू पिवट

AnimatorSet set = new AnimatorSet(); 
set.playTogether(
    ObjectAnimator.ofFloat(myView, "pivotX", -(myView.getWidth()/2), -(myView.getWidth()/2)), 
    ObjectAnimator.ofFloat(myView, "pivotY", -(myView.getHeight()/2), -(myView.getHeight()/2)), 
    ObjectAnimator.ofFloat(myView, "scaleX", 0, 1), 
    ObjectAnimator.ofFloat(myView, "scaleY", 0, 1), 
    ObjectAnimator.ofFloat(myView, "alpha", 0, 1) 
); 
set.setDuration(1000).start(); 

लेकिन यह काम नहीं करता है, पिवट दृश्य के केंद्र में रहता है।

क्या आप कृपया मेरी मदद कर सकते हैं?

AnimatorProxy.wrap(myView).setPivotX(0); 

किसी भी समय भी के बादObjectAnimator.start() कहा जाता रहा है,:

धन्यवाद)

+0

मुझे नहीं लगता कि NineOldAndroids इस :-(हनीकोम्ब या अधिक से अधिक (एपीआई 11) पर का समर्थन करता है कि आप setPivotY कॉल कर सकते हैं (0) लेकिन इस विधि देखें में उपलब्ध नहीं है Tom

+0

हाँ मुझे पता है। मैंने नाइनऑल्ड एंड्रॉइड के स्रोत कोड की जांच की और मुझे प्री-हनीकॉम कार्यान्वयन के लिए एक पिवट के कुछ संदर्भ मिले, लेकिन मुझे इसे स्थापित करने में मेरे प्रयासों के साथ कोई भाग्य नहीं था ... :( – Venator85

उत्तर

18

लेखक जेक व्हार्टन के लिए धन्यवाद, यहाँ समाधान है।

+0

धन्यवाद! मुझे नहीं पता था कि यह किया जा सकता है। यह बहुत उपयोगी है क्योंकि इसके बिना पुराने उपकरणों पर कई एनीमेशन पूरा नहीं हो सके। लेखक को कुछ क्रेडिट देने के लिए – Tom

+2

+1। आप अतिरिक्त मील भी जा सकते हैं और उसका नाम लिंक कर सकते हैं उनकी साइट। बैकलिंक्स स्वादिष्ट एसईओ हैं। – Jacksonkr

+0

वेल एल, मेरे लिए यह केवल 'प्रारंभ() 'कॉल करने के बाद ही काम किया। शायद क्योंकि मैंने एनिमेटरसेट –

15

AnimatorProxy.wrap (...) मेरे मामले में कोई प्रभाव नहीं पड़ा। हालांकि, निम्न पंक्ति चाल किया:

ViewHelper.setPivotY(myView, 0) 
+0

एनिमेटरप्रॉक्सी.व्रैप मेरे लिए भी काम नहीं करता है, तो मैं एनीमेटरसेट का उपयोग कर रहा हूं। इस जवाब के लिए अंगूठे ऊपर अंततः मुझे मदद की –

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