ऐनिमेशन रिसॉर्स
संग्रह की मदद से व्यवस्थित रहें
अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
एक ऐनिमेशन संसाधन, दो तरह के ऐनिमेशन में से एक को परिभाषित कर सकता है:
- प्रॉपर्टी ऐनिमेशन
- एक तय अवधि में ऑब्जेक्ट की प्रॉपर्टी वैल्यू में बदलाव करके, ऐनिमेशन बनाता है
Animator
के साथ.
- व्यू ऐनिमेशन
-
व्यू ऐनिमेशन फ़्रेमवर्क की मदद से, दो तरह के ऐनिमेशन किए जा सकते हैं:
प्रॉपर्टी ऐनिमेशन
एक्सएमएल में तय किया गया एक ऐनिमेशन, जो टारगेट ऑब्जेक्ट की प्रॉपर्टी में बदलाव करता है, जैसे कि
समय की दी गई समयावधि में बैकग्राउंड का रंग या ऐल्फ़ा वैल्यू.
- फ़ाइल की जगह:
res/animator/filename.xml
फ़ाइल नाम का इस्तेमाल, रिसॉर्स आईडी के तौर पर किया जाता है.
- कंपाइल किए गए संसाधन डेटा टाइप:
ValueAnimator
, ObjectAnimator
, के लिए रिसॉर्स पॉइंटर,
या AnimatorSet
- संसाधन का रेफ़रंस:
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
Java-आधारित या Kotlin कोड में:
R.animator.filename
एक्सएमएल में: @[package:]animator/filename
- सिंटैक्स:
-
<set
android:ordering=["together" | "sequentially"]>
<objectAnimator
android:propertyName="string"
android:duration="int"
android:valueFrom="float | int | color"
android:valueTo="float | int | color"
android:startOffset="int"
android:repeatCount="int"
android:repeatMode=["restart" | "reverse"]
android:valueType=["intType" | "floatType"]/>
<animator
android:duration="int"
android:valueFrom="float | int | color"
android:valueTo="float | int | color"
android:startOffset="int"
android:repeatCount="int"
android:repeatMode=["restart" | "reverse"]
android:valueType=["intType" | "floatType"]/>
<set>
...
फ़ाइल में एक रूट एलिमेंट होना चाहिए: या तो:
,
या
. आप
ऐनिमेशन एलिमेंट को
एलिमेंट में एक साथ ग्रुप करें. इसमें अन्य एलिमेंट भी शामिल हैं
एलिमेंट.
- एलिमेंट:
-
- एक कंटेनर, जिसमें दूसरे ऐनिमेशन एलिमेंट होते हैं (
,
या अन्य
एलिमेंट). इससे पता चलता है
AnimatorSet
.
आगे जाने के लिए, नेस्ट किए गए
टैग तय किए जा सकते हैं
ग्रुप ऐनिमेशन. हर
अपनी जानकारी दे सकता है
ordering
एट्रिब्यूट की वैल्यू सबमिट करें.
विशेषताएं:
-
android:ordering
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
कीवर्ड. इस सेट में ऐनिमेशन के चलने का क्रम तय करता है.
वैल्यू | ब्यौरा |
sequentially | इस सेट में ऐनिमेशन को क्रम से चलाएं. |
together (डिफ़ॉल्ट) | इस सेट में एक साथ ऐनिमेशन चलाएं. |
- एक तय समय के दौरान, किसी ऑब्जेक्ट की एक खास प्रॉपर्टी को ऐनिमेट करता है. इससे पता चलता है
ObjectAnimator
.
विशेषताएं:
-
android:propertyName
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
स्ट्रिंग. ज़रूरी है. ऐनिमेट करने के लिए ऑब्जेक्ट की प्रॉपर्टी, जिसके नाम से रेफ़रंस दिया जाता है. उदाहरण के लिए, आपके पास
View
ऑब्जेक्ट के लिए, "alpha"
या "backgroundColor"
.
objectAnimator
एलिमेंट, target
को सार्वजनिक नहीं करता
एट्रिब्यूट का इस्तेमाल करते हैं, इसलिए आप एक्सएमएल एलान में ऑब्जेक्ट को ऐनिमेट करने के लिए सेट नहीं कर सकते. आपको करना होगा
loadAnimator()
को कॉल करके अपने ऐनिमेशन एक्सएमएल रिसॉर्स को बढ़ाएं. साथ ही, सेट करने के लिए setTarget()
को कॉल करें
वह टारगेट ऑब्जेक्ट जिसमें यह प्रॉपर्टी शामिल है.
-
android:valueTo
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
फ़्लोट, पूर्णांक या रंग. ज़रूरी है. वह वैल्यू जहां ऐनिमेशन वाली प्रॉपर्टी खत्म होती है. रंग दिखाए जाते हैं
छह अंकों वाले हेक्साडेसिमल नंबर, जैसे कि #333333.
-
android:valueFrom
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
फ़्लोट, पूर्णांक या रंग. वह वैल्यू जहां से ऐनिमेटेड प्रॉपर्टी शुरू होती है. अगर नहीं
बताया गया है, तो ऐनिमेशन प्रॉपर्टी की
get
तरीके से मिली वैल्यू पर शुरू होता है. रंग दिखाए जाते हैं
छह अंकों वाले हेक्साडेसिमल नंबर, जैसे कि #333333.
-
android:duration
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
int. ऐनिमेशन में लगने वाला समय, मिलीसेकंड में. डिफ़ॉल्ट वैल्यू 300 मिलीसेकंड है.
-
android:startOffset
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
int. मिलीसेकंड की वह अवधि जिसके बाद ऐनिमेशन देर से लगता है
start()
पर कॉल किया गया है.
-
android:repeatCount
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
int. किसी ऐनिमेशन को कितनी बार दोहराना है. असीम रूप से
"-1"
पर सेट करें
दोहराने या एक धनात्मक पूर्णांक के रूप में लिखें. उदाहरण के लिए, "1"
वैल्यू का मतलब है कि ऐनिमेशन
शुरुआती तौर पर चलने के बाद ऐनिमेशन को एक बार दोहराया जाता है, इसलिए ऐनिमेशन कुल
दो बार में से. इसकी डिफ़ॉल्ट वैल्यू "0"
है, इसका मतलब है कि कोई दोहराव नहीं है.
-
android:repeatMode
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
int. ऐनिमेशन के आखिर में पहुंचने पर, ऐनिमेशन कैसे काम करता है.
android:repeatCount
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
इस एट्रिब्यूट को लागू करने के लिए, वैल्यू को किसी पॉज़िटिव इंटीजर या "-1"
पर सेट करना ज़रूरी है. "reverse"
पर सेट करें
हर इटरेशन के साथ ऐनिमेशन की उल्टी दिशा पाने या ऐनिमेशन के लिए "restart"
देने के लिए
लूप में चलाना है.
-
android:valueType
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
कीवर्ड. अगर वैल्यू कोई रंग है, तो यह एट्रिब्यूट न बताएं. ऐनिमेशन फ़्रेमवर्क अपने-आप कलर को हैंडल करता है
वैल्यू.
वैल्यू | ब्यौरा |
intType | इससे पता चलता है कि ऐनिमेशन वाली वैल्यू, पूर्णांक हैं. |
floatType (डिफ़ॉल्ट) | इससे पता चलता है कि ऐनिमेशन वाली वैल्यू फ़्लोट हैं. |
- तय समय तक ऐनिमेशन करता है.
ValueAnimator
को दिखाता है.
विशेषताएं:
-
android:valueTo
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
फ़्लोट, पूर्णांक या रंग. ज़रूरी है. वह वैल्यू जहां ऐनिमेशन खत्म होता है. रंग दिखाए जाते हैं
छह अंकों वाले हेक्साडेसिमल नंबर, जैसे कि #333333.
-
android:valueFrom
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
फ़्लोट, पूर्णांक या रंग. ज़रूरी है. वह वैल्यू जहां ऐनिमेशन शुरू होता है. रंग दिखाए जाते हैं
छह अंकों वाले हेक्साडेसिमल नंबर, जैसे कि #333333.
-
android:duration
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
int. ऐनिमेशन में लगने वाला समय, मिलीसेकंड में. डिफ़ॉल्ट वैल्यू 300 मि॰से॰ है.
-
android:startOffset
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
int. मिलीसेकंड की वह अवधि जिसके बाद ऐनिमेशन देर से लगता है
start()
पर कॉल किया गया है.
-
android:repeatCount
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
int. किसी ऐनिमेशन को कितनी बार दोहराना है. असीम रूप से
"-1"
पर सेट करें
दोहराने या एक धनात्मक पूर्णांक के रूप में लिखें. उदाहरण के लिए, "1"
वैल्यू का मतलब है कि ऐनिमेशन
शुरुआती तौर पर चलने के बाद ऐनिमेशन को एक बार दोहराया जाता है, इसलिए ऐनिमेशन कुल
दो बार में से. इसकी डिफ़ॉल्ट वैल्यू "0"
है, इसका मतलब है कि कोई दोहराव नहीं है.
-
android:repeatMode
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
int. ऐनिमेशन के आखिर में पहुंचने पर, ऐनिमेशन कैसे काम करता है.
android:repeatCount
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
इस एट्रिब्यूट को लागू करने के लिए, वैल्यू को किसी पॉज़िटिव इंटीजर या "-1"
पर सेट करना ज़रूरी है. "reverse"
पर सेट करें
हर इटरेशन के साथ ऐनिमेशन की उल्टी दिशा पाने या ऐनिमेशन के लिए "restart"
देने के लिए
लूप में चलाना है.
-
android:valueType
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
कीवर्ड. अगर वैल्यू कोई रंग है, तो यह एट्रिब्यूट न बताएं. ऐनिमेशन फ़्रेमवर्क अपने-आप कलर को हैंडल करता है
वैल्यू.
वैल्यू | ब्यौरा |
intType | इससे पता चलता है कि ऐनिमेशन वाली वैल्यू, पूर्णांक हैं. |
floatType (डिफ़ॉल्ट) | इससे पता चलता है कि ऐनिमेशन वाली वैल्यू फ़्लोट हैं. |
- उदाहरण:
-
एक्सएमएल फ़ाइल को res/animator/property_animator.xml
पर सेव किया गया:
इस ऐनिमेशन को चलाने के लिए, अपने कोड में मौजूद एक्सएमएल संसाधनों को AnimatorSet
ऑब्जेक्ट में इनफ़्लेट करें. इसके बाद, सभी ऐनिमेशन के लिए टारगेट ऑब्जेक्ट सेट करें
क्लिक करें. setTarget()
को कॉल करने से, AnimatorSet
के सभी बच्चों के लिए एक ही टारगेट ऑब्जेक्ट सेट हो जाता है. ऐसा करना आसान होता है. यह कोड बताता है कि इसे कैसे किया जा सकता है:
Kotlin
val set: AnimatorSet = AnimatorInflater.loadAnimator(myContext, R.animator.property_animator)
.apply {
setTarget(myObject)
start()
}
Java
AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(myContext,
R.animator.property_animator);
set.setTarget(myObject);
set.start();
- यह भी देखें:
-
ऐनिमेशन देखें
व्यू ऐनिमेशन फ़्रेमवर्क, ट्वीन और फ़्रेम-दर-फ़्रेम ऐनिमेशन, दोनों के साथ काम करता है. ये दोनों एलान किए जाते हैं
एक्सएमएल में. नीचे दिए सेक्शन में, दोनों तरीकों का इस्तेमाल करने का तरीका बताया गया है.
ट्वीन ऐनिमेशन
एक्सएमएल में तय किया गया ऐसा ऐनिमेशन जो ग्राफ़िक पर ट्रांज़िशन करता है, जैसे कि घुमाना,
फ़ेडिंग, मूविंग, और स्ट्रेचिंग.
- फ़ाइल की जगह:
res/anim/filename.xml
फ़ाइल नाम का इस्तेमाल, रिसॉर्स आईडी के तौर पर किया जाता है.
- कंपाइल किए गए संसाधन डेटा टाइप:
Animation
के लिए रिसॉर्स पॉइंटर
- संसाधन का रेफ़रंस:
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
Java में:
R.anim.filename
एक्सएमएल में: @[package:]anim/filename
- सिंटैक्स:
-
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@[package:]anim/interpolator_resource"
android:shareInterpolator=["true" | "false"] >
<alpha
android:fromAlpha="float"
android:toAlpha="float" />
<scale
android:fromXScale="float"
android:toXScale="float"
android:fromYScale="float"
android:toYScale="float"
android:pivotX="float"
android:pivotY="float" />
<translate
android:fromXDelta="float"
android:toXDelta="float"
android:fromYDelta="float"
android:toYDelta="float" />
<rotate
android:fromDegrees="float"
android:toDegrees="float"
android:pivotX="float"
android:pivotY="float" />
<set>
...
फ़ाइल में एक रूट एलिमेंट होना चाहिए: या तो
,
,
,
या
एलिमेंट जो होल्ड पर रहता है
दूसरे ऐनिमेशन एलिमेंट का ग्रुप (या ग्रुप) (इसमें नेस्ट किए गए
एलिमेंट शामिल हैं).
- एलिमेंट:
-
- एक कंटेनर, जिसमें दूसरे ऐनिमेशन एलिमेंट होते हैं
(
,
,
,
) या अन्य
एलिमेंट. AnimationSet
को दिखाता है.
विशेषताएं:
android:interpolator
- इंटरपोलेटर संसाधन.
ऐनिमेशन पर लागू करने के लिए,
Interpolator
.
मान, किसी ऐसे संसाधन का संदर्भ होना चाहिए जो इंटरपोलेटर के बारे में बताता हो,
इंटरपोलेटर क्लास का नाम नहीं है. डिफ़ॉल्ट इंटरपोलेटर हैं
प्लैटफ़ॉर्म से उपलब्ध संसाधनों को ऐक्सेस करना होगा या अपना इंटरपोलेटर संसाधन खुद बनाना होगा.
इंटरपोलेटर के बारे में ज़्यादा जानकारी के लिए, यहां दी गई चर्चा देखें.
android:shareInterpolator
- बूलियन.
"true"
अगर आपको सभी चाइल्ड खातों के लिए एक ही इंटरपोलेटर का इस्तेमाल करना है
एलिमेंट.
- फ़ेड-इन या फ़ेड-आउट ऐनिमेशन.
AlphaAnimation
को दिखाता है.
विशेषताएं:
android:fromAlpha
- फ़्लोट. ओपैसिटी ऑफ़सेट शुरू करना, जहां 0.0 पारदर्शी और 1.0 होता है
ओपेक है.
android:toAlpha
- फ़्लोट. ओपैसिटी ऑफ़सेट खत्म करना, जहां 0.0 पारदर्शी और 1.0 होता है
ओपेक है.
के साथ काम करने वाले और एट्रिब्यूट के लिए, क्लास का रेफ़रंस देखें
Animation
, जिसके एक्सएमएल एट्रिब्यूट को इस एलिमेंट से इनहेरिट किया जाता है.
- साइज़ बदलने वाला ऐनिमेशन. आप इमेज का केंद्र बिंदु बता सकते हैं जहां से यह बढ़ता है
pivotX
और pivotY
तय करके बाहर या अंदर. उदाहरण के लिए, अगर ये मान
वैल्यू 0,0 (सबसे ऊपर का बायां कोना) होती है. चुनी गई सभी सेल नीचे और दाईं तरफ़ होती हैं. ScaleAnimation
को दिखाता है.
विशेषताएं:
android:fromXScale
- फ़्लोट. X साइज़ ऑफ़सेट शुरू करना, जहां 1.0 में कोई बदलाव नहीं होगा.
android:toXScale
- फ़्लोट. आखिरी X साइज़ ऑफ़सेट, जहां 1.0 से कोई बदलाव नहीं होगा.
android:fromYScale
- फ़्लोट. Y साइज़ ऑफ़सेट शुरू हो रहा है, जहां 1.0 में कोई बदलाव नहीं होगा.
android:toYScale
- फ़्लोट. Y साइज़ ऑफ़सेट खत्म हो रहा है, जहां 1.0 में कोई बदलाव नहीं होगा.
android:pivotX
- फ़्लोट. ऑब्जेक्ट के स्केल किए जाने पर, X निर्देशांक का स्थिर रहना होता है.
android:pivotY
- फ़्लोट. ऑब्जेक्ट के स्केल किए जाने पर, Y निर्देशांक का फ़िक्स रहता है.
के साथ काम करने वाले और एट्रिब्यूट के लिए, क्लास का रेफ़रंस देखें
Animation
, जिसके एक्सएमएल एट्रिब्यूट को इस एलिमेंट से इनहेरिट किया जाता है.
- वर्टिकल और/या हॉरिज़ॉन्टल मोशन. इससे पता चलता है कि
TranslateAnimation
.
इन तीन में से किसी भी फ़ॉर्मैट में ये एट्रिब्यूट इस्तेमाल किए जा सकते हैं:
- -100 से 100 तक की वैल्यू, जिनके आखिर में "%" है, जो प्रतिशत दिखाता है
उससे संबंधित है.
- वैल्यू, -100 से 100 तक की हैं जिनके आखिर में "%p" है, जो इसकी वैल्यू से जुड़ी वैल्यू का प्रतिशत है
पैरंट.
- बिना सफ़िक्स वाली फ़्लोट वैल्यू, जो निरपेक्ष मान दिखाती है.
विशेषताएं:
android:fromXDelta
- फ़्लोट या प्रतिशत. X ऑफ़सेट शुरू हो रहा है. पिक्सल के हिसाब से दिखाया गया
सामान्य पोज़िशन पर किया जाए, जैसे कि
"5"
; प्रतिशत में एलिमेंट की चौड़ाई के मुताबिक होना चाहिए, जैसे कि
"5%"
; या पैरंट चौड़ाई के हिसाब से प्रतिशत में, जैसे कि "5%p"
.
android:toXDelta
- फ़्लोट या प्रतिशत. X ऑफ़सेट को खत्म करना. पिक्सल के हिसाब से दिखाया गया
सामान्य पोज़िशन पर किया जाए, जैसे कि
"5"
; प्रतिशत में एलिमेंट की चौड़ाई के मुताबिक होना चाहिए, जैसे कि
"5%"
; या पैरंट चौड़ाई के हिसाब से प्रतिशत में, जैसे कि "5%p"
.
android:fromYDelta
- फ़्लोट या प्रतिशत. Y ऑफ़सेट शुरू हो रहा है. पिक्सल के हिसाब से दिखाया गया
सामान्य पोज़िशन पर किया जाए, जैसे कि
"5"
; प्रतिशत में एलिमेंट की ऊंचाई के मुताबिक, जैसे कि
"5%"
; या पैरंट के साइज़ के हिसाब से प्रतिशत में, जैसे कि "5%p"
.
android:toYDelta
- फ़्लोट या प्रतिशत. Y ऑफ़सेट को खत्म करना. पिक्सल के हिसाब से दिखाया गया
सामान्य पोज़िशन पर किया जाए, जैसे कि
"5"
; प्रतिशत में एलिमेंट की ऊंचाई के मुताबिक, जैसे कि
"5%"
; या पैरंट के साइज़ के हिसाब से प्रतिशत में, जैसे कि "5%p"
.
के साथ काम करने वाले और एट्रिब्यूट के लिए, क्लास का रेफ़रंस देखें
Animation
, जिसके एक्सएमएल एट्रिब्यूट को इस एलिमेंट से इनहेरिट किया जाता है.
- एक रोटेशन ऐनिमेशन.
RotateAnimation
को दिखाता है.
विशेषताएं:
android:fromDegrees
- फ़्लोट. डिग्री में, कोणीय स्थिति से शुरू.
android:toDegrees
- फ़्लोट. डिग्री में आखिरी कोणीय स्थिति.
android:pivotX
- फ़्लोट या प्रतिशत. घूर्णन के केंद्र का X निर्देशांक. एक्सप्रेस किया गया
ऑब्जेक्ट के बाएं किनारे से जुड़े पिक्सल में, जैसे कि
"5"
; प्रतिशत के हिसाब से
ऑब्जेक्ट के बाएं किनारे तक, जैसे कि "5%"
; या पैरंट की तुलना में प्रतिशत में
कंटेनर का बायां किनारे, जैसे कि "5%p"
.
android:pivotY
- फ़्लोट या प्रतिशत. रोटेशन के केंद्र का Y निर्देशांक. एक्सप्रेस किया गया
ऑब्जेक्ट के सबसे ऊपरी किनारे से जुड़े पिक्सल में, जैसे कि
"5"
; प्रतिशत के हिसाब से
ऑब्जेक्ट के सबसे ऊपरी किनारे तक जाएं, जैसे कि "5%"
; या पैरंट की तुलना में प्रतिशत में
कंटेनर का ऊपरी किनारे, जैसे कि "5%p"
.
के साथ काम करने वाले और एट्रिब्यूट के लिए, क्लास का रेफ़रंस देखें
Animation
, जिसके एक्सएमएल एट्रिब्यूट को इस एलिमेंट से इनहेरिट किया जाता है.
- उदाहरण:
-
एक्सएमएल फ़ाइल को res/anim/hyperspace_jump.xml
पर सेव किया गया:
नीचे दिया गया ऐप्लिकेशन कोड, ऐनिमेशन को ImageView
और
ऐनिमेशन शुरू करता है:
Kotlin
val image: ImageView = findViewById(R.id.image)
val hyperspaceJump: Animation = AnimationUtils.loadAnimation
(this, R.anim.hyperspace_jump)
image.startAnimation
(hyperspaceJump)
Java
ImageView image = (ImageView) findViewById(R.id.image);
Animation hyperspaceJump = AnimationUtils.loadAnimation
(this, R.anim.hyperspace_jump);
image.startAnimation
(hyperspaceJump);
- यह भी देखें:
-
इंटरपोलेटर
इंटरपोलेटर एक्सएमएल में तय किया गया एक ऐनिमेशन मॉडिफ़ायर होता है, जो
ऐनिमेशन. इससे आपके मौजूदा ऐनिमेशन इफ़ेक्ट को तेज़, कम, दोहराया जा सकता है,
बाउंस होना वगैरह
android:interpolator
वाले ऐनिमेशन एलिमेंट पर इंटरपोलेटर लागू किया जाता है
विशेषता है, जिसका मान किसी इंटरपोलेटर संसाधन का संदर्भ है.
Android में उपलब्ध सभी इंटरपोलेटर, Interpolator
क्लास की सब-क्लास हैं. हर इंटरपोलेटर क्लास के लिए, Android
में एक सार्वजनिक संसाधन है, जिसका संदर्भ आप किसी ऐनिमेशन में इंटरपोलेटर लागू करने के लिए दे सकते हैं
android:interpolator
एट्रिब्यूट का इस्तेमाल करके.
नीचे दी गई टेबल में हर इंटरपोलेटर के लिए इस्तेमाल किए जाने वाले संसाधन के बारे में बताया गया है:
यहां बताया गया है कि android:interpolator
एट्रिब्यूट की मदद से, इनमें से किसी एक को कैसे लागू किया जा सकता है:
...
कस्टम इंटरपोलेटर
अगर आप प्लैटफ़ॉर्म से मिले इंटरपोलेटर से संतुष्ट नहीं हैं, तो आप बदले गए एट्रिब्यूट वाला कस्टम इंटरपोलेटर संसाधन बना सकते हैं.
उदाहरण के लिए, आप विज्ञापनों की दर
AnticipateInterpolator
के लिए एक्सेलरेटर करें या
CycleInterpolator
के लिए साइकल चलाना. ऐसा करने के लिए, आपको
किसी एक्सएमएल फ़ाइल में अपना खुद का इंटरपोलेटर संसाधन बनाएं.
- फ़ाइल की जगह:
res/anim/filename.xml
फ़ाइल नाम का इस्तेमाल, रिसॉर्स आईडी के तौर पर किया जाता है.
- कंपाइल किए गए संसाधन डेटा टाइप:
- इससे जुड़े इंटरपोलेटर ऑब्जेक्ट के लिए रिसॉर्स पॉइंटर
- संसाधन का रेफ़रंस:
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
एक्सएमएल में:
@[package:]anim/filename
- सिंटैक्स:
-
<InterpolatorName xmlns:android="http://schemas.android.com/apk/res/android"
android:attribute_name="value"
/>
अगर आपने कोई एट्रिब्यूट लागू नहीं किया है, तो आपका इंटरपोलेटर ठीक वैसे ही काम करेगा जैसे
प्लैटफ़ॉर्म से मिले डेटा के बारे में जानकारी मिलेगी, जिनकी जानकारी ऊपर दी गई टेबल में दी गई है.
- एलिमेंट:
- ध्यान दें कि हर
Interpolator
को लागू करने पर, जब
एक्सएमएल में दी गई जानकारी का एक नाम है, जो अंग्रेज़ी के छोटे अक्षर से शुरू होता है.
- बदलाव की दर धीरे-धीरे शुरू और खत्म होती है. हालांकि, यह समय के साथ-साथ
बीच में.
कोई एट्रिब्यूट मौजूद नहीं है.
- बदलाव की दर धीरे-धीरे शुरू होती है और फिर तेज़ी से बढ़ती है.
विशेषताएं:
android:factor
- फ़्लोट. रफ़्तार की दर. डिफ़ॉल्ट वैल्यू एक होती है.
- बदलाव की शुरुआत पहले की जाती है और फिर आगे की ओर हो जाती है.
विशेषताएं:
android:tension
- फ़्लोट. लागू किया जाने वाला तनाव. डिफ़ॉल्ट वैल्यू दो होती है.
- बदलाव की शुरुआत पीछे की ओर होती है और फिर आगे की ओर बढ़ जाती है और टारगेट वैल्यू से ज़्यादा बढ़ जाती है. इसके बाद,
आखिरी वैल्यू पर तय होता है.
विशेषताएं:
android:tension
- फ़्लोट. लागू किया जाने वाला तनाव. डिफ़ॉल्ट वैल्यू दो होती है.
android:extraTension
- फ़्लोट. वह राशि जिससे तनाव को गुणा करना है. डिफ़ॉल्ट सेटिंग यह है
1.5.
- बदलाव, आखिर में बाउंस हो जाता है.
कोई एट्रिब्यूट मौजूद नहीं है
- ऐनिमेशन को तय साइकल के लिए दोहराया जाएगा. बदलाव की दर,
साइनसोइडल पैटर्न.
विशेषताएं:
android:cycles
- पूरी संख्या. साइकल की संख्या. डिफ़ॉल्ट वैल्यू एक होती है.
- बदलाव की दर तेज़ी से शुरू होती है और फिर कम हो जाती है.
विशेषताएं:
android:factor
- फ़्लोट. ह्रास दर. डिफ़ॉल्ट वैल्यू एक होती है.
- बदलाव की दर लगातार बनी रहती है.
कोई एट्रिब्यूट मौजूद नहीं है.
- बदलाव तेज़ी से आगे बढ़ता है और आखिरी वैल्यू को ओवरशॉट करता है. इसके बाद, वापस आता है.
विशेषताएं:
android:tension
- फ़्लोट. लागू किया जाने वाला तनाव. डिफ़ॉल्ट वैल्यू दो होती है.
- उदाहरण:
-
एक्सएमएल फ़ाइल को res/anim/my_overshoot_interpolator.xml
पर सेव किया गया:
यह ऐनिमेशन एक्सएमएल, इंटरपोलेटर पर लागू होता है:
फ़्रेम ऐनिमेशन
एक्सएमएल में तय किया गया ऐनिमेशन, जिसमें इमेज का कोई क्रम दिखाया जाता है, जैसे कि फ़िल्म.
- फ़ाइल की जगह:
res/drawable/filename.xml
फ़ाइल नाम का इस्तेमाल, रिसॉर्स आईडी के तौर पर किया जाता है.
- कंपाइल किए गए संसाधन डेटा टाइप:
AnimationDrawable
के लिए रिसॉर्स पॉइंटर
- संसाधन का रेफ़रंस:
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
Java में:
R.drawable.filename
एक्सएमएल में: @[package:]drawable.filename
- सिंटैक्स:
-
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot=["true" | "false"] >
<item
android:drawable="@[package:]drawable/drawable_resource_name"
android:duration="integer" />
- एलिमेंट:
-
- ज़रूरी है. यह रूट एलिमेंट होना चाहिए. एक या एक से ज़्यादा फ़ाइलें शामिल हैं
एलिमेंट.
विशेषताएं:
android:oneshot
- बूलियन.
"true"
अगर आपको ऐनिमेशन का इस्तेमाल एक बार करना है, लूप करने के लिए "false"
ऐनिमेशन.
- ऐनिमेशन का एक फ़्रेम.
एलिमेंट का चाइल्ड होना चाहिए.
विशेषताएं:
android:drawable
- ड्रॉ करने लायक संसाधन. इस फ़्रेम के लिए उपयोग के लिए ड्रॉबल.
android:duration
- पूरी संख्या. इस फ़्रेम को दिखाने की अवधि, मिलीसेकंड में.
- उदाहरण:
-
एक्सएमएल फ़ाइल को res/drawable/rocket_thrust.xml
पर सेव किया गया:
यह ऐप्लिकेशन कोड, ऐनिमेशन को View
के लिए बैकग्राउंड के तौर पर सेट करता है,
फिर ऐनिमेशन चलाएं:
Java
ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image);
rocketImage.setBackgroundResource
(R.drawable.rocket_thrust);
rocketAnimation = rocketImage.getBackground()
;
if (rocketAnimation instanceof Animatable
) {
((Animatable)rocketAnimation).start()
;
}
- यह भी देखें:
-