Angular একটি শক্তিশালী ফ্রেমওয়ার্ক যা ডাইনামিক এবং ইন্টারঅ্যাকটিভ ওয়েব অ্যাপ্লিকেশনের জন্য অ্যানিমেশন সমর্থন করে। Angular Animations ব্যবহার করে আপনার অ্যাপ্লিকেশনগুলিতে ভিজ্যুয়াল ইফেক্ট এবং অ্যানিমেশন যুক্ত করা সহজ হয়। Angular এর AnimationModule এর মাধ্যমে অ্যাপ্লিকেশনকে আরও আকর্ষণীয় এবং ব্যবহারকারী বান্ধব করা যায়।
Angular এ অ্যানিমেশন তৈরি করতে @angular/animations প্যাকেজটি ব্যবহার করতে হয়। এই প্যাকেজটি বিভিন্ন অ্যানিমেশন ফিচার প্রদান করে, যেমন: trigger, state, transition, animate, এবং style।
trigger
:trigger হচ্ছে একটি অ্যানিমেশন শুরুর পয়েন্ট। এটি অ্যানিমেশনটি কবে এবং কোথায় চালু হবে তা নির্ধারণ করে। সাধারণত এটি কম্পোনেন্টের মধ্যে ব্যবহৃত হয়।
state
:state ব্যবহার করে আপনি একটি নির্দিষ্ট অবস্থাকে নির্ধারণ করতে পারেন, যেমন একটি ভিউ (view) কোনো নির্দিষ্ট অবস্থায় থাকলে, সেই অবস্থার অ্যানিমেশনটি চালু হবে।
transition
:transition হলো অ্যানিমেশনের মধ্যে পদ্ধতি যা দুটি অবস্থার মধ্যে পরিবর্তন ঘটায়। এটি সাধারণত state এর মধ্যে পরিবর্তনকে নির্দেশ করে।
animate
:animate ব্যবহার করে আপনি কোন অ্যানিমেশনটি চালু করবেন এবং কত সময় সেটি চলবে তা নির্ধারণ করেন।
style
:style অ্যানিমেশনের জন্য CSS স্টাইল পরিবর্তন করতে ব্যবহৃত হয়। এটি state
এর মধ্যে স্টাইল পরিবর্তনের জন্য ব্যবহার করা হয়।
এখানে একটি সহজ উদাহরণ দেওয়া হলো যা Angular Animations ব্যবহার করে একটি কম্পোনেন্টে অ্যানিমেশন তৈরি করে:
app.module.ts
-এ অ্যানিমেশন মডিউল ইম্পোর্ট করাimport { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; // Angular Animations মডিউল ইম্পোর্ট
@NgModule({
declarations: [AppComponent],
imports: [BrowserModule, BrowserAnimationsModule], // BrowserAnimationsModule ইম্পোর্ট করা
providers: [],
bootstrap: [AppComponent],
})
export class AppModule {}
এখানে, BrowserAnimationsModule
কে ইম্পোর্ট করা হয়েছে যা অ্যানিমেশন সমর্থন করার জন্য প্রয়োজনীয়।
import { Component } from '@angular/core';
import { trigger, state, style, animate, transition } from '@angular/animations';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
animations: [
trigger('openClose', [
state('open', style({
height: '200px',
opacity: 1,
backgroundColor: 'green'
})),
state('closed', style({
height: '0px',
opacity: 0,
backgroundColor: 'red'
})),
transition('open <=> closed', [
animate('0.5s')
]),
])
]
})
export class AppComponent {
isOpen = true;
toggle() {
this.isOpen = !this.isOpen;
}
}
এখানে, trigger('openClose', [...])
দিয়ে একটি অ্যানিমেশন ট্রিগার তৈরি করা হয়েছে, যা open
এবং closed
অবস্থার মধ্যে পরিবর্তন ঘটায়। state
ব্যবহার করে দুইটি অবস্থার জন্য স্টাইল নির্ধারণ করা হয়েছে এবং transition
দিয়ে দুইটি অবস্থার মধ্যে পরিবর্তন করার সময় অ্যানিমেশন চালানো হয়েছে।
<div [@openClose]="isOpen ? 'open' : 'closed'" (click)="toggle()">
Click to toggle
</div>
এখানে, [@openClose]
নির্দেশক দিয়ে অ্যানিমেশনটি যুক্ত করা হয়েছে, যা isOpen
ভ্যালুর উপর ভিত্তি করে কম্পোনেন্টের অবস্থান পরিবর্তন করবে।
Angular এর অ্যানিমেশন ব্যবহারের মাধ্যমে আপনার অ্যাপ্লিকেশনকে আরও ইন্টারঅ্যাকটিভ এবং ব্যবহারকারী বান্ধব করা যায়। Trigger, State, Transition, Animate, এবং Style এর মতো মূল উপাদানগুলির মাধ্যমে আপনি সহজেই আকর্ষণীয় অ্যানিমেশন তৈরি করতে পারবেন। Angular এর অ্যানিমেশন API এর মাধ্যমে সার্বিক অ্যাপ্লিকেশন পারফরমেন্স এবং ইউজার এক্সপিরিয়েন্স উন্নত করা সম্ভব।
Read more