নেটিভ অ্যানিমেটেড, সম্পূর্ণ ইভেন্ট প্রতিক্রিয়া


90

যখন অ্যানিমেটেড.স্প্রিং শেষ হয় তখন কোনও ইভেন্ট ট্রিগার করার জন্য সর্বোত্তম অনুশীলন কোনটি?

Animated.spring(this.state.pan, {
    toValue: 0
}).start()

আমি বেশ কিছুটা অনুসন্ধান করেছি এবং এটি করার একক উপায়ও পাইনি। অ্যানিমেশনটি শেষের মান বা সময়সীমা শেষ হয়েছে কিনা তা যাচাই করতে আমি অ্যাডলিস্টনার ব্যবহার করতে পারি, তবে তারা উভয়ই অতি সাধারণ হওয়া উচিত কি কুৎসিত ফিক্স হিসাবে মনে হয়।

কেউ কি জানে?

উত্তর:



16

এটি অ্যানিমেশন শুরুর দিকে চালিত হবে

.start(console.log("Start Animation")

একটি তীর ফাংশন বা ফাংশন ব্যবহার করে সম্পন্নটি অ্যানিমেশনের শেষে কল হবে

.start(() => {console.log("Animation DONE")})

এবং ফাইনালি এটি কোনও ফাংশনের প্রসঙ্গে দেখতে দেখতে এটির মতোই লাগে।

_play(){
  Animated.timing(this.state.progress, {
     toValue: 1,
     duration: 5000,
     easing: Easing.linear,
   }).start(() => {console.log("Animation DONE")});
}

আশা করি এইটি কাজ করবে!


12
.start(console.log("Start Animation")পার্শ্ব প্রতিক্রিয়ার কারণে অ্যানিমেশনটির শুরুতে কেবল "অগ্নি" হবে। এটি কার্যত একই হিসাবে console.log("Start Animation"); Animated.timing(...).start(..)। এটি পদ্ধতিটির উদ্দেশ্যমূলক ব্যবহার নয়। দয়া করে এটি ব্যবহার করবেন না। start()অ্যানিমেশনটি শেষ হওয়ার জন্য একটি কলব্যাক নেয় এবং এগুলিই।
zeh

আপনি কি এই সমাপ্তি কলব্যাকের মধ্যে একই ফাংশনটি কল করে অ্যানিমেশনটি লুপ করতে পারবেন?
টম

0

অ্যানিমেশন শেষ হলে কিছু করার জন্য এই তিনটি পদ্ধতি রয়েছে। প্রথম: আপনি কল (কলব্যাক) পদ্ধতিতে পাস হওয়া কলব্যাকটি ব্যবহার করতে পারেন। দ্বিতীয়: আপনি স্টপএনিমেশন ব্যবহার করতে পারেন যা একটি কলব্যাক গ্রহণ করে তৃতীয়: আমার পছন্দের উপায়, যা অ্যানিমেটেড মানটিতে শ্রোতাদের রাখার সমন্বিত এবং বর্তমান মানের উপর ভিত্তি করে কিছু করে। উদাহরণস্বরূপ, আপনি 0 থেকে 150 পর্যন্ত অনুবাদ করতে পারেন এবং আপনি যে মানকে প্রাণবন্ত করে থাকেন তার উপর ভিত্তি করে 'গতি' বলুন এবং গতি যখন কোনও মান পৌঁছায় আপনি কিছু করতে পারেন।

let motion = Animated.Value(0);

motion.addListener(({value}) =>{
  if(value>=10){
    pos.stopAnimation((val)=>{console.log('stopped in '+val)});
  }
});

আরও on👉https: //www.youtube.com/channel/UCl5-W0A8tE3EucM7E_yS62A

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.