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

Android में व्यू के आयाम (चौड़ाई और ऊंचाई) कैसे प्राप्त करें

परिचय

एंड्रॉइड में डायनामिक व्यू बनाते समय (XML के बजाय कोड में), अक्सर हमें व्यू की मापी गई चौड़ाई और ऊंचाई जानने की आवश्यकता होती है। यह लेख `getMeasuredWidth()` और `getMeasuredHeight()` का उपयोग करके इसे प्राप्त करने का तरीका दिखाता है।

मुख्य चरण

  1. माप निर्दिष्ट करें: `view.measure(0, 0)` कॉल करके व्यू को मापने के लिए कहें।
  2. आयाम प्राप्त करें: `getMeasuredWidth()` चौड़ाई और `getMeasuredHeight()` ऊंचाई देता है।

पूर्ण उदाहरण

चरण 1: लेआउट (activity_main.xml)

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android" 
    android:id="@+id/rootview" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    tools:context=".MainActivity"> 
</LinearLayout>

चरण 2: MainActivity.java

import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.Gravity; 
import android.widget.LinearLayout; 
import android.widget.TextView; 
import android.widget.Toast; 

public class MainActivity extends AppCompatActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 

        TextView msg = new TextView(this); 
        msg.setText("sample text for checking dimensions"); 
        msg.setPadding(10, 10, 10, 10); 
        msg.measure(0, 0); // महत्वपूर्ण: माप ट्रिगर करें 

        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( 
            LinearLayout.LayoutParams.WRAP_CONTENT, 
            LinearLayout.LayoutParams.WRAP_CONTENT); 
        params.setMargins(5, 15, 0, 0); 
        msg.setLayoutParams(params); 
        msg.setGravity(Gravity.CENTER); 

        LinearLayout layout = findViewById(R.id.rootview); 
        layout.addView(msg); 

        int width = msg.getMeasuredWidth(); 
        int height = msg.getMeasuredHeight(); 

        Toast.makeText(this, "width " + width + " height " + height, Toast.LENGTH_LONG).show(); 
    } 
}

चरण 3: AndroidManifest.xml

मानक मैनिफेस्ट, कोई विशेष अनुमति आवश्यक नहीं।

महत्वपूर्ण नोट्स

  • `measure(0, 0)` का अर्थ है "कोई माता-पिता प्रतिबंध नहीं, अपनी इच्छानुसार आकार लें"।
  • माप के बाद ही `getMeasuredWidth/Height` कॉल करें।
  • यदि व्यू पहले से लेआउट में है, तो `onLayout` या `onWindowFocusChanged` में आयाम प्राप्त करें।

ऊपर दिए गए कोड को चलाने पर एक टोस्ट में TextView की चौड़ाई और ऊंचाई प्रदर्शित होगी।

  1. Android में RadioGroup से चुने गए रेडियो बटन का इंडेक्स कैसे प्राप्त करें? Android में RadioGroup से चुने गए रेडियो बटन का इंडेक्स कैसे प्राप्त करें?

    Android RadioGroup से चयनित रेडियो बटन प्राप्त करना यह उदाहरण दर्शाता है कि RadioGroup में से उपयोगकर्ता द्वारा चुने गए RadioButton की पहचान कैसे करें और उसका टेक्स्ट/इंडेक्स कैसे प्राप्त करें। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनें। चरण 2: लेआउट फ़ाइल (res/layout/a

  1. एंड्रॉइड में एक्शन बार की ऊंचाई कैसे प्राप्त करें? एंड्रॉइड में एक्शन बार की ऊंचाई कैसे प्राप्त करें?

    Toolbar.getHeight() के साथ एक्शन बार ऊंचाई मापें यह उदाहरण दर्शाता है कि Toolbar/ActionBar की रनटाइम ऊंचाई पिक्सेल में कैसे प्राप्त करें। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनें। चरण 2: लेआउट में Toolbar और बटन res/layout/activity_main.xml: <?xml version=1.0 encod

  1. Android Emulator का IP एड्रेस कैसे प्राप्त करें? Android Emulator का IP एड्रेस कैसे प्राप्त करें?

    WifiManager का उपयोग करके Android एमुलेटर/डिवाइस का स्थानीय IP एड्रेस प्रोग्रामेटिकली प्राप्त करने का तरीका। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में नया प्रोजेक्ट बनाएं। चरण 2: लेआउट res/layout/activity_main.xml: <?xml version=1.0 encoding=utf-8?> <RelativeLayout xmlns:android=https