Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Kotlin का उपयोग करके Android में GridLayout को स्क्रीन आकार में फिट कैसे करें?

यह उदाहरण दर्शाता है कि Kotlin में प्रोग्रामेटिक रूप से GridLayout में व्यू जोड़कर उसे स्क्रीन आकार में फिट कैसे किया जाए।

चरण 1 - नया प्रोजेक्ट बनाएं

Android Studio: File → New Project।

चरण 2 - activity_main.xml में GridLayout

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:id="@+id/tableGrid"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:columnCount="4"
    android:orientation="horizontal"
    tools:context=".MainActivity">
    <!-- प्रोग्रामेटिक रूप से भरा जाएगा -->
</GridLayout>

चरण 3 - MainActivity.kt में डायनामिक ग्रिड भरें

import android.os.Bundle
import android.view.Gravity
import android.widget.GridLayout
import android.widget.ImageView
import android.widget.TableLayout
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        title = "KotlinApp"

        val gridLayout = findViewById<GridLayout>(R.id.tableGrid)
        gridLayout.removeAllViews()

        val totalItems = 12
        val columnCount = 5
        val rowCount = (totalItems + columnCount - 1) / columnCount // सीलिंग डिवीजन

        gridLayout.columnCount = columnCount
        gridLayout.rowCount = rowCount

        for (i in 0 until totalItems) {
            val column = i % columnCount
            val row = i / columnCount

            val imageView = ImageView(this).apply {
                setImageResource(R.drawable.ic_launcher_background)
                scaleType = ImageView.ScaleType.CENTER_CROP
            }

            val params = GridLayout.LayoutParams().apply {
                height = TableLayout.LayoutParams.WRAP_CONTENT
                width = 0 // 0 + columnSpec.weight = समान चौड़ाई
                columnSpec = GridLayout.spec(column, 1f) // 1f = समान वजन
                rowSpec = GridLayout.spec(row)
                setGravity(Gravity.CENTER)
                rightMargin = 8
                bottomMargin = 8
            }

            imageView.layoutParams = params
            gridLayout.addView(imageView)
        }
    }
}

चरण 4 - AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="com.example.gridlayoutfit">
    <application ...>
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

ऐप चलाएं

ऐप चलाएं। GridLayout में 5 कॉलम और 3 पंक्तियों में 12 इमेज व्यू समान आकार में प्रदर्शित होंगे, स्क्रीन चौड़ाई को भरते हुए।

महत्वपूर्ण सुधार: मूल कोड में `width = WRAP_CONTENT` था जिससे कॉलम असमान होते थे। ऊपर दिए गए कोड में `width = 0` और `columnSpec.weight = 1f` का उपयोग करके समान चौड़ाई सुनिश्चित की गई है।
आधुनिक विकल्प: RecyclerView के साथ GridLayoutManager का उपयोग करना अधिक कुशल और लचीला है, विशेष रूप से बड़ी सूचियों के लिए।
  1. Android में अलर्ट डायलॉग को स्क्रीन का 50% आकार कैसे बनाएं? Android में अलर्ट डायलॉग को स्क्रीन का 50% आकार कैसे बनाएं?

    Android में अलर्ट डायलॉग की चौड़ाई/ऊंचाई कस्टमाइज करने का तरीका डिफ़ॉल्ट रूप से अलर्ट डायलॉग स्क्रीन की चौड़ाई के 80-90% तक होता है। यह उदाहरण दिखाता है कि WindowManager.LayoutParams का उपयोग करके डायलॉग को स्क्रीन के 50% चौड़ाई और ऊंचाई तक कैसे सीमित किया जाए। चरण 1: नया प्रोजेक्ट बनाएं Android St

  1. Android में विभिन्न स्क्रीन साइज़ को सपोर्ट कैसे करें? Android में विभिन्न स्क्रीन साइज़ को सपोर्ट कैसे करें?

    यह उदाहरण दर्शाता है कि Android ऐप में विभिन्न स्क्रीन साइज़ और डेंसिटी को कैसे सपोर्ट किया जाता है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project पर जाएं और आवश्यक विवरण भरकर प्रोजेक्ट बनाएं। चरण 2: लेआउट XML में कोड जोड़ें res/layout/activity_main.xml में निम्नलिखित कोड जोड़ें

  1. Android में GridLayout को स्क्रीन साइज़ में फिट कैसे करें? Android में GridLayout को स्क्रीन साइज़ में फिट कैसे करें?

    यह उदाहरण दर्शाता है कि GridLayout को प्रोग्रामेटिकली डायनामिक कॉलम/रो काउंट के साथ स्क्रीन साइज़ में फिट कैसे किया जाता है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project। चरण 2: लेआउट XML res/layout/activity_main.xml: <?xml version=1.0 encoding=utf-8?> <GridLayout