animation - Android -> how to animate to the new position -
यहां सरल एक्सएमएल एंड्रॉयड एनीमेशन है:
& lt; अनुवाद xmlns: android = "http : Http://schemas.android.com/apk/res/android "android: fromXDelta =" 0 "एंड्रॉइड: fromYDelta =" 0 "एंड्रॉइड: toXDelta =" - 110 "एंड्रॉइड: toYDelta =" - 110 "एंड्रॉइड: अवधि =" 1000 "एंड्रॉइड: fillAfter =" true "/ & gt; मैं एनीमेटेड ऑब्जेक्ट को स्क्रीन के केंद्र से 0, 0 पदों पर ले जाना चाहता हूं। मैं इसे कैसे बनाऊं (यह सभी स्क्रीन प्रस्तावों पर काम करना चाहिए)
मेरा उत्तर:
आपकी सहायता के लिए आपको धन्यवाद। लेकिन मैंने अपनी समस्या को दूसरी तरफ ठीक कर दिया है, गतिशील रूप से, बिना एक्सएमएल इस पद्धति का पूरा कोड यहां है:
सार्वजनिक शून्य को बदलना (int xTo, int yTo, float xScale, float yScale) {// एनीमेशन का सेट बनाना एनीमेशन = नया एनीमेशनसेट (गलत); // एनीमेशन को फ़िनिश लाइन की जगह पर लागू किया जाना चाहिए.अनुमति.सेटफिलएफ़टर (सच); // स्केल एनीमेशन स्केल एनीमेशन स्केल = नया स्केल एनीमेशन (1.0 एफ, एक्सएससील, 1.0 एफ, वाईएसस्केल) बनाएं; scale.setDuration (1000); // अनुवाद अनुवाद एनीमेशन बनाएं अनुवाद ट्रांस ट्रान्स = नया अनुवादअनुमति (0, 0, अनुवादअनुमति.एबेसोल, xTo - getLeft (), 0, 0, ट्रांसलेटएनिमेशन.ABSOLUTE, yTo - getTop ()); trans.setDuration (1000); // सेट प्रतिस्थापित करने के लिए नए एनीमेशन जोड़ें; एनीमेशन.एडएनिमेशन (स्केल); replaceAnimation.addAnimation (ट्रांस); // हमारे एनीमेशन शुरुआत शुरू करेंएनीमेशन (प्रतिस्थापन की जगह); }
मेरा समाधान:
धन्यवाद आपकी मदद के लिए । लेकिन मैंने अपनी समस्या को दूसरी तरफ ठीक कर दिया है, गतिशील रूप से, बिना एक्सएमएल इस पद्धति का पूरा कोड यहां है:
सार्वजनिक शून्य को बदलना (int xTo, int yTo, float xScale, float yScale) {// एनिमेशन का सेट बनाना प्रतिस्थापित करना = नया एनीमेशनसेट (गलत); // एनीमेशन को फ़िनिश लाइन की जगह पर लागू किया जाना चाहिए.अनुमति.सेटफिलएफ़टर (सच); // स्केल एनीमेशन स्केल एनीमेशन स्केल = नया स्केल एनीमेशन (1.0 एफ, एक्सएससील, 1.0 एफ, वाईएसस्केल) बनाएं; scale.setDuration (1000); // अनुवाद अनुवाद एनीमेशन बनाएं अनुवाद ट्रांस ट्रान्स = नया अनुवादअनुमति (0, 0, अनुवादअनुमति.एबेसोल, xTo - getLeft (), 0, 0, ट्रांसलेटएनिमेशन.ABSOLUTE, yTo - getTop ()); trans.setDuration (1000); // सेट प्रतिस्थापित करने के लिए नए एनीमेशन जोड़ें; एनीमेशन.एडएनिमेशन (स्केल); replaceAnimation.addAnimation (ट्रांस); // हमारे एनीमेशन शुरुआत शुरू करेंएनीमेशन (प्रतिस्थापन की जगह); }
Comments
Post a Comment