কম্পিউটার

রিঅ্যাক্ট নেটিভে অ্যানিমেশনের কাজ ব্যাখ্যা কর?


রিঅ্যাক্ট নেটিভ একটি অ্যানিমেশন কম্পোনেন্ট অফার করে যা উপলভ্য কম্পোনেন্টে আরও ইন্টারঅ্যাক্টিভিটি যোগ করতে সাহায্য করে। অ্যানিমেশন কম্পোনেন্টটি ভিউ, টেক্সট, ইমেজ, স্ক্রোলভিউ, ফ্ল্যাটলিস্ট এবং সেকশনলিস্ট অ্যানিমেট করতে ব্যবহার করা যেতে পারে।

রিঅ্যাক্ট নেটিভ দুই ধরনের অ্যানিমেশন প্রদান করে −

  • অ্যানিমেটেড API
  • লেআউট অ্যানিমেশন

অ্যানিমেটেড API

অ্যানিমেটেড এপিআই ইনপুট/আউটপুটের উপর ভিত্তি করে সময় ভিত্তিক অ্যানিমেশন সরবরাহ করতে সহায়তা করে। এই উদাহরণে, আমরা অ্যানিমেটেড টাইমিং এপিআই ব্যবহার করে বক্সের প্রস্থ এবং উচ্চতা পরিবর্তন করব।

অ্যানিমেশনের সাথে কাজ করার জন্য, নীচে দেখানো হিসাবে উপাদান আমদানি করুন −

import { Animated } from 'react-native'

অ্যানিমেশনের সাথে কাজ করার জন্য, আমাদের প্রথমে নীচে দেখানো হিসাবে এটি কনফিগার করতে হবে -

Animated.timing() ফাংশন ইজিং ফাংশন ব্যবহার করে এবং প্রদত্ত মান সময়মতো অ্যানিমেট করা হয়। ব্যবহৃত ডিফল্ট ইজিং ফাংশনটি হল easeInOut , আপনি একটি আলাদা ব্যবহার করতে পারেন বা আপনার নিজের সংজ্ঞায়িত করতে পারেন৷

Animated.timing() ফাংশনের গঠন নিম্নরূপ -

Animated.timing(animateparam, {
   toValue: 100,
   easing: easingfunc,
   duration: timeinseconds
}).start();

উদাহরণে আমরা ভিউ-এর প্রস্থ এবং উচ্চতা অ্যানিমেট করব, তাই আমি প্রথমে এটিকে শুরু করে দিয়েছি -

অ্যানিমেটেড প্রস্থ এবং অ্যানিমেটেড উচ্চতা কম্পোনেন্ট উইলমাউন্টের ভিতরে শুরু করা হয়েছে −

componentWillMount = () => {
   this.animatedWidth = new Animated.Value(50)
   this.animatedHeight = new Animated.Value(100)
}

পরে অ্যানিমেটেড.টাইমিং ফাংশন যোগ করা হয়েছে -

Animated.timing(this.animatedWidth, {
   toValue: 200,
   duration: 1000
}).start()
Animated.timing(this.animatedHeight, {
   toValue: 500,
   duration: 500
}).start()

অ্যানিমেশন

TouchableOpacity উপাদানটি প্রেসে ব্যবহার করা হয় যার functionthis.animatedBox বলা হয় যেটিতে Animated.timing ফাংশন রয়েছে যা অ্যানিমেশন সম্পাদন করবে। TouchableOpacity কম্পোনেন্ট টিপলে ভিউয়ের প্রস্থ এবং উচ্চতা পরিবর্তিত হবে।

উদাহরণ

'react-native'class অ্যানিমেশন থেকে 'react'import { View, StyleSheet, Animated, TouchableOpacity } থেকে
import React, { Component } from 'react'
import { View, StyleSheet, Animated, TouchableOpacity } from 'react-native'
class Animations extends Component {
   componentWillMount = () => {
      this.animatedWidth = new Animated.Value(50)
      this.animatedHeight = new Animated.Value(100)
   }
   animatedBox = () => {
      Animated.timing(this.animatedWidth, {
      toValue: 200,
      duration: 1000
   }).start()
   Animated.timing(this.animatedHeight, {
      toValue: 500,
      duration: 500
   }).start()
}
render() {
   const animatedStyle = { width: this.animatedWidth, height:
   this.animatedHeight }
   return (
      <TouchableOpacity style = {styles.container} onPress =
         {this.animatedBox}>
      <Animated.View style = {[styles.box, animatedStyle]}/>
         </TouchableOpacity>
      )
   }
}
export default Animations
const styles = StyleSheet.create({
   container: {
      padding:100,
      justifyContent: 'center',
      alignItems: 'center'
   },
   box: {
      backgroundColor: 'gray',
      width: 50,
      height: 100
   }
})

আউটপুট

আইওএস এবং অ্যান্ড্রয়েড ডিভাইস -

এর ভিউ নিচে দেওয়া হল

রিঅ্যাক্ট নেটিভে অ্যানিমেশনের কাজ ব্যাখ্যা কর?

ধূসর আয়তক্ষেত্রাকার বাক্সটিকে অ্যানিমেটিং দেখতে −

স্পর্শ করুন৷

রিঅ্যাক্ট নেটিভে অ্যানিমেশনের কাজ ব্যাখ্যা কর?

লেআউট অ্যানিমেশন API

লেআউট অ্যানিমেশন আপনাকে অ্যানিমেটেড API-এর তুলনায় আরও নিয়ন্ত্রণ দেয় এবং আপনাকে পরবর্তী রেন্ডার/লেআউট চক্রের জন্য ভিউতে ব্যবহৃত অ্যানিমেশনগুলি তৈরি এবং আপডেট করতে বিশ্বব্যাপী কনফিগার করতে দেয়।

লেআউট অ্যানিমেশন এপিআই-এর সাথে কাজ করার জন্য আপনাকে এটি নিম্নরূপ আমদানি করতে হবে -

import { LayoutAnimation } from 'react-native';:

উদাহরণ:লেআউট অ্যানিমেশন ব্যবহার করে

লেআউট অ্যানিমেশন অ্যান্ড্রয়েডে কাজ করার জন্য আপনাকে নিম্নলিখিত লাইনগুলি যোগ করতে হবে -

UIManager.setLayoutAnimationEnabledExperimental &&
UIManager.setLayoutAnimationEnabledExperimental(true);
import React from 'react';
import {
   NativeModules,
   LayoutAnimation,
   Text,
   TouchableOpacity,
   StyleSheet,
   View,
} from 'react-native';
const { UIManager } = NativeModules;
UIManager.setLayoutAnimationEnabledExperimental &&
UIManager.setLayoutAnimationEnabledExperimental(true);
export default class App extends React.Component {
   state = {
      w: 50,
      h: 50,
   };
   animatecircle = () => {
      LayoutAnimation.spring();
      this.setState({w: this.state.w + 10, h: this.state.h + 10})
   }
   render() {
      return (
         <TouchableOpacity style = {styles.container} onPress={this.animatecircle}>
            <View style={[styles.circle, {width: this.state.w, height: this.state.h}]} />
               </TouchableOpacity>
         );
      }
   }
   const styles = StyleSheet.create({
      container: {
         flex: 1,
         alignItems: 'center',
         justifyContent: 'center',
   },
   circle: {
      width: 200,
      height: 200,
      borderRadius: '50%',
      backgroundColor: 'green',
   },
});

আউটপুট

রিঅ্যাক্ট নেটিভে অ্যানিমেশনের কাজ ব্যাখ্যা কর?

বৃত্তের উপর আলতো চাপুন এবং এটিকে অ্যানিমেটিং দেখুন৷

রিঅ্যাক্ট নেটিভে অ্যানিমেশনের কাজ ব্যাখ্যা কর?


  1. সেকশনলিস্ট কম্পোনেন্ট কি এবং রিঅ্যাক্ট নেটিভ এ কিভাবে ব্যবহার করবেন?

  2. প্রতিক্রিয়া নেটিভ এ উপাদান চিপ ভিউ কিভাবে প্রদর্শন করবেন?

  3. রিঅ্যাক্ট নেটিভে অ্যানিমেশনের কাজ ব্যাখ্যা কর?

  4. C ভাষায় ক্যারেক্টার অপারেশন ব্যাখ্যা কর