টেবিল

TableLayout হল একটি ViewGroup যা সারি এবং কলামে চাইল্ড View উপাদান প্রদর্শন করে।

দ্রষ্টব্য: ভাল পারফরম্যান্স এবং টুলিং সমর্থনের জন্য, আপনার পরিবর্তে ConstraintLayout দিয়ে আপনার লেআউট তৈরি করা উচিত।

TableLayout এর বাচ্চাদের সারি এবং কলামে রাখে। টেবিল লেআউট কন্টেইনারগুলি তাদের সারি, কলাম বা ঘরগুলির জন্য সীমানা রেখা প্রদর্শন করে না। সারণীতে সর্বাধিক কক্ষ সহ সারিটির মতো কলাম থাকবে৷ একটি টেবিল কোষ খালি ছেড়ে যেতে পারে. সেলগুলি একাধিক কলাম বিস্তৃত করতে পারে, যেমনটি তারা HTML এ করতে পারে। আপনি TableRow.LayoutParams ক্লাসে span ফিল্ড ব্যবহার করে কলাম স্প্যান করতে পারেন।

দ্রষ্টব্য: কক্ষ একাধিক সারি বিস্তৃত করতে পারে না।

TableRow অবজেক্ট হল একটি TableLayout এর চাইল্ড ভিউ (প্রতিটি TableRow টেবিলে একটি একক সারি সংজ্ঞায়িত করে)। প্রতিটি সারিতে শূন্য বা ততোধিক কক্ষ রয়েছে, যার প্রত্যেকটি অন্য যেকোন ভিউ দ্বারা সংজ্ঞায়িত করা হয়েছে। সুতরাং, একটি সারির ঘরগুলি বিভিন্ন ধরনের ভিউ অবজেক্টের সমন্বয়ে গঠিত হতে পারে, যেমন ImageView বা TextView অবজেক্ট। একটি ঘর একটি ViewGroup অবজেক্টও হতে পারে (উদাহরণস্বরূপ, আপনি একটি ঘর হিসাবে অন্য TableLayout নেস্ট করতে পারেন)।

নিম্নলিখিত নমুনা বিন্যাসে দুটি সারি এবং প্রতিটিতে দুটি কক্ষ রয়েছে৷ সহগামী স্ক্রিনশট ফলাফল দেখায়, কোষের সীমানা বিন্দুযুক্ত লাইন হিসাবে প্রদর্শিত হয় (ভিজ্যুয়াল এফেক্টের জন্য যোগ করা হয়েছে)।

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:stretchColumns="1">
    <TableRow>
        <TextView
            android:text="@string/table_layout_4_open"
            android:padding="3dip" />
        <TextView
            android:text="@string/table_layout_4_open_shortcut"
            android:gravity="right"
            android:padding="3dip" />
    </TableRow>

    <TableRow>
        <TextView
            android:text="@string/table_layout_4_save"
            android:padding="3dip" />
        <TextView
            android:text="@string/table_layout_4_save_shortcut"
            android:gravity="right"
            android:padding="3dip" />
    </TableRow>
</TableLayout>

কলামগুলি লুকানো, প্রসারিত এবং উপলব্ধ স্ক্রীন স্থান পূরণ করার জন্য চিহ্নিত করা যেতে পারে, অথবা টেবিলটি পর্দায় ফিট না হওয়া পর্যন্ত কলামটিকে সঙ্কুচিত হতে বাধ্য করার জন্য সঙ্কুচিত হিসাবে চিহ্নিত করা যেতে পারে। আরও বিস্তারিত জানার জন্য TableLayout reference ডকুমেন্টেশন দেখুন।

উদাহরণ

  1. HelloTableLayout নামে একটি নতুন প্রকল্প শুরু করুন।
  2. res/layout/main.xml ফাইলটি খুলুন এবং নিম্নলিখিতটি সন্নিবেশ করুন:
    <?xml version="1.0" encoding="utf-8"?>
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:stretchColumns="1">
    
        <TableRow>
            <TextView
                android:layout_column="1"
                android:text="Open..."
                android:padding="3dip" />
            <TextView
                android:text="Ctrl-O"
                android:gravity="right"
                android:padding="3dip" />
        </TableRow>
    
        <TableRow>
            <TextView
                android:layout_column="1"
                android:text="Save..."
                android:padding="3dip" />
            <TextView
                android:text="Ctrl-S"
                android:gravity="right"
                android:padding="3dip" />
        </TableRow>
    
        <TableRow>
            <TextView
                android:layout_column="1"
                android:text="Save As..."
                android:padding="3dip" />
            <TextView
                android:text="Ctrl-Shift-S"
                android:gravity="right"
                android:padding="3dip" />
        </TableRow>
    
        <View
            android:layout_height="2dip"
            android:background="#FF909090" />
    
        <TableRow>
            <TextView
                android:text="X"
                android:padding="3dip" />
            <TextView
                android:text="Import..."
                android:padding="3dip" />
        </TableRow>
    
        <TableRow>
            <TextView
                android:text="X"
                android:padding="3dip" />
            <TextView
                android:text="Export..."
                android:padding="3dip" />
            <TextView
                android:text="Ctrl-E"
                android:gravity="right"
                android:padding="3dip" />
        </TableRow>
    
        <View
            android:layout_height="2dip"
            android:background="#FF909090" />
    
        <TableRow>
            <TextView
                android:layout_column="1"
                android:text="Quit"
                android:padding="3dip" />
        </TableRow>
    </TableLayout>
    

    লক্ষ্য করুন কিভাবে এটি একটি HTML টেবিলের কাঠামোর সাথে সাদৃশ্যপূর্ণ। TableLayout উপাদানটি HTML <table> উপাদানের মতো; TableRow একটি ><tr>> উপাদানের মত; কিন্তু ঘরের জন্য, আপনি যে কোনো ধরনের View উপাদান ব্যবহার করতে পারেন। এই উদাহরণে, প্রতিটি কক্ষের জন্য একটি TextView ব্যবহার করা হয়। কিছু সারিগুলির মধ্যে, একটি মৌলিক View রয়েছে, যা একটি অনুভূমিক রেখা আঁকতে ব্যবহৃত হয়।

  3. নিশ্চিত করুন যে আপনার HelloTableLayout কার্যকলাপ onCreate() পদ্ধতিতে এই লেআউটটি লোড করে:

    কোটলিন

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.main)
    }
    

    জাভা

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    

    setContentView(int) পদ্ধতি Activity জন্য লেআউট ফাইল লোড করে, রিসোর্স আইডি দ্বারা নির্দিষ্ট করা হয়েছে — R.layout.main res/layout/main.xml লেআউট ফাইলকে বোঝায়।

  4. অ্যাপ্লিকেশন চালান.

আপনি নিম্নলিখিত দেখতে হবে: