Frame Layout
🧱 FrameLayout কী?
FrameLayout হলো এমন একটি ViewGroup,
যা মূলত একটি খালি ফ্রেম তৈরি করে স্ক্রিনে।-
তুমি চাইলে পরবর্তীতে এই ফ্রেমে এক বা একাধিক view বসাতে পারো।
-
তবে এটি সাধারণত একটি view প্রদর্শনের জন্য ব্যবহৃত হয়, যেমন একটি ছবি, বা কোনো widget।
🧩 FrameLayout-এর মূল বৈশিষ্ট্য
-
Child views top-left corner এ অবস্থান করে
সব child view parent layout-এর উপর বাম কোণে (top-left) পিন করা থাকে।
-
তুমি আলাদা কোনো position নির্ধারণ করতে পারো না।
-
Child views overlapping করতে পারে
যদি একাধিক view থাকে, নতুন view পুরনো view-এর উপর draw হবে।
-
মানে: পূর্ববর্তী view কিছুটা বা সম্পূর্ণ লুকিয়ে যেতে পারে।
-
যদি নতুন view transparent হয়, তবে পুরনো view দেখা যাবে।
-
সাধারণ ব্যবহার
একটি ছবি swap করতে বা animation overlay করার জন্য
-
UI component overlay (যেমন badge, icon overlay)
-
খুব simple layout যেখানে একবারে একটাই view দেখাতে হবে
📄 একটি উদাহরণ
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/backgroundImage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/bg_image"
android:scaleType="centerCrop" />
<TextView
android:id="@+id/overlayText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World"
android:textColor="#FFFFFF"
android:textSize="24sp"
android:padding="16dp"/>
</FrameLayout>
🔍 ব্যাখ্যা
backgroundImageপুরো ফ্রেম পূরণ করছে।-
overlayTextএই ছবির উপর top-left অবস্থানে draw হচ্ছে। -
TextView ছবির কিছু অংশ ঢেকে দিয়েছে।
- মনে রাখো: FrameLayout child views কে top-left corner এ রাখে এবং draw করে একটার উপর আরেকটা।
🧠 সংক্ষেপে FrameLayout
| বিষয় | ব্যাখ্যা |
|---|---|
| Layout type | সবচেয়ে সহজ ViewGroup |
| Child positioning | সব child top-left corner এ থাকে |
| Overlapping | child views একে অপরের উপরে draw হয় |
| ব্যবহার | ছবি swap, overlay, single view, animation |