কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েডে Constraint Layout কীভাবে কাজ করে?

সহজ ভাষায়, Constraint Layout হলো Relative Layout-এর একটি উন্নত সংস্করণ। এটি চাইল্ড ভিউ হায়ারার্কি কমানো এবং পারফরম্যান্স বাড়ানোর জন্য ব্যবহৃত হয়।

Constraint Layout-এর প্রপার্টিগুলো নিচে দেখানো হলো:

অ্যান্ড্রয়েডে Constraint Layout কীভাবে কাজ করে?

  • Wrap Content: ডেটা অনুযায়ী ভিউ সাইজ র‍্যাপ করে। অ্যান্ড্রয়েডে Constraint Layout কীভাবে কাজ করে?
  • Any Size: এটি Match Parent-এর খুব অনুরূপ। অ্যান্ড্রয়েডে Constraint Layout কীভাবে কাজ করে?
  • Fixed Size: স্ট্যান্ডার্ড হাইট ও উইডথ (ফিক্সড সাইজ) অনুমতি দেয়। অ্যান্ড্রয়েডে Constraint Layout কীভাবে কাজ করে?

উপরোক্ত উদাহরণে বাটনের সব প্রপার্টি দেখানো হয়েছে। এখন কোড লেভেলে নजर দিন:

<Button
    android:layout_width="wrap_content"
    android:layout_height="53dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginBottom="8dp"
    android:text="Button"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    android:layout_constraintHorizontal_bias="0.391"
    app:layout_constraintStart_toStartOf="@+id/data1"
    app:layout_constraintTop_toTopOf="parent" />

এখানে লেআউট মার্জিন টপ, বটম, স্টার্ট এবং এন্ড ডিক্লেয়ার করা হয়েছে। এগুলো স্ট্যান্ডার্ড ডিস্ট্যান্স (Match Parent-এর মতো)।

Constraint Layout-এ দুটি বায়াস আছে: হরিজন্টাল এবং ভার্টিক্যাল। হরিজন্টাল ও ভার্টিক্যালভাবে গ্র্যাভিটি স্পেস。

ভিউতে ক্লিক করলে সেই ভিউর সাথে কানেক্টেড সব হায়ারার্কি দেখাবে। ভিউতে ক্লিক করলে "X" কালার আইকন বাটন দিয়ে অন্য ভিউ বা প্যারেন্ট ভিউর সাথে হায়ারার্কি রিমুভ করা যায়।

উদাহরণ: Constraint Layout ব্যবহার

ধাপ ১: নতুন প্রজেক্ট তৈরি করুন

অ্যান্ড্রয়েড স্টুডিওতে File → New Project এ যান এবং প্রজেক্ট তৈরির জন্য প্রয়োজনীয় বিবরণ পূরণ করুন।

ধাপ ২: activity_main.xml-এ কোড যোগ করুন

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:id="@+id/layout"
    android:gravity="center"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <TextView
        android:id="@+id/data"
        android:layout_width="wrap_content"
        android:gravity="center"
        android:textSize="30sp"
        android:text="www.tutorialspoint.com"
        android:layout_height="wrap_content" />
    <TextView
        android:id="@+id/data1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginTop="80dp"
        android:layout_marginEnd="8dp"
        android:gravity="center"
        android:text="www.tutorialspoint.com"
        android:textSize="30sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="53dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="8dp"
        android:text="Button"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.43"
        app:layout_constraintStart_toStartOf="@+id/data1"
        app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>

আউটপুট

অ্যাপ রান করুন। ডিফল্ট স্ক্রিন:

অ্যান্ড্রয়েডে Constraint Layout কীভাবে কাজ করে?

  1. অ্যান্ড্রয়েডে টেক্সটভিউয়ের লেআউট ওয়েট প্রোগ্রামেটিক্যালি সেট করা

  2. অ্যান্ড্রয়েড অ্যাপে ট্যাব লেআউট (TabLayout) তৈরি করা

  3. অ্যান্ড্রয়েডে ListView-এর রিসাইক্লিং মেকানিজম কীভাবে কাজ করে?

  4. অ্যান্ড্রয়েডে SnackBar-এর লেআউট কাস্টমাইজ করার পদ্ধতি