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

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

यह उदाहरण दर्शाता है कि GridLayout को प्रोग्रामेटिकली डायनामिक कॉलम/रो काउंट के साथ स्क्रीन साइज़ में फिट कैसे किया जाता है।

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

Android Studio में File → New Project।

चरण 2: लेआउट XML

res/layout/activity_main.xml:

<?xml version="1.0" encoding="utf-8"?> 
<GridLayout 
    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:id="@+id/tableGrid" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="center" 
    android:columnCount="4" 
    android:orientation="horizontal" 
    android:padding="8dp" 
    tools:context=".MainActivity"> 
    <!-- प्रोग्रामेटिकली भरा जाएगा --> 
</GridLayout>

चरण 3: MainActivity.java

package com.app.sample; 
import androidx.appcompat.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.Gravity; 
import android.widget.GridLayout; 
import android.widget.ImageView; 

public class MainActivity extends AppCompatActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
        
        GridLayout gridLayout = findViewById(R.id.tableGrid); 
        gridLayout.removeAllViews(); 
        
        int totalItems = 12; 
        int columnCount = 5; 
        int rowCount = (int) Math.ceil((double) totalItems / columnCount); 
        
        gridLayout.setColumnCount(columnCount); 
        gridLayout.setRowCount(rowCount); 
        
        // स्क्रीन चौड़ाई के आधार पर सेल साइज़ कैलकुलेट करें
        int screenWidth = getResources().getDisplayMetrics().widthPixels; 
        int cellSize = (screenWidth - (columnCount + 1) * 16) / columnCount; // पैडिंग/मार्जिन घटाकर
        
        for (int i = 0, c = 0, r = 0; i < totalItems; i++, c++) { 
            if (c == columnCount) { 
                c = 0; 
                r++; 
            } 
            
            ImageView imageView = new ImageView(this); 
            imageView.setImageResource(R.drawable.ic_launcher_background); 
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
            
            GridLayout.LayoutParams params = new GridLayout.LayoutParams(); 
            params.width = cellSize; 
            params.height = cellSize; 
            params.setGravity(Gravity.CENTER); 
            params.columnSpec = GridLayout.spec(c); 
            params.rowSpec = GridLayout.spec(r); 
            params.setMargins(8, 8, 8, 8); 
            
            imageView.setLayoutParams(params); 
            gridLayout.addView(imageView); 
        } 
    } 
}

महत्वपूर्ण सुधार

  • मूल कोड में layout_width="wrap_content" था जिससे ग्रिड स्क्रीन फिट नहीं होता
  • match_parent और डायनामिक सेल साइज़ कैलकुलेशन उपयोग करें
  • GridLayout.spec() से कॉलम/रो स्पेसिफाई करें

बेहतर विकल्प: RecyclerView + GridLayoutManager

GridLayout के बजाय RecyclerView उपयोग करना अधिक फ्लेक्सिबल और परफॉरमेंट-फ्रेंडली है:

// XML में 
<androidx.recyclerview.widget.RecyclerView 
    android:id="@+id/recyclerView" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

// एक्टिविटी में 
RecyclerView recyclerView = findViewById(R.id.recyclerView); 
recyclerView.setLayoutManager(new GridLayoutManager(this, 5)); 
recyclerView.setAdapter(new MyGridAdapter(items));

चरण 4: AndroidManifest.xml

मानक मैनिफेस्ट।

ऐप चलाएं

डिवाइस कनेक्ट करें, Run करें। ग्रिड स्क्रीन चौड़ाई में फिट होकर दिखेगा।

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

  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. एंड्रॉइड पर तस्वीर को वॉलपेपर कैसे बनाएं (और इसे फिट कैसे करें) एंड्रॉइड पर तस्वीर को वॉलपेपर कैसे बनाएं (और इसे फिट कैसे करें)

    हम सभी के पास यादें या बस सुंदर तस्वीरें होती हैं जिन्हें हम हर दिन देखना खुशी से पसंद करेंगे। ऐसा करने का सबसे अच्छा तरीका क्या है? उन्हें अपने बैकग्राउंड के रूप में सेट करना, बिल्कुल, अपने कंप्यूटर या एंड्रॉइड फोन पर। एंड्रॉइड पर छवियों को वॉलपेपर के रूप में सेट करना थोड़ा उलझन भरा हुआ करता था क्