बहुत सारे मामले हैं, हमें एक्सएमएल में दृश्य बनाने के बजाय गतिशील दृश्य बनाना चाहिए। उस परिदृश्य में, हमें एक दृश्य के आयाम प्राप्त करने की आवश्यकता है। तो यहाँ Android में एक दृश्य के आयाम प्राप्त करने का एक सरल उपाय है।
किसी भी दृश्य की ऊंचाई प्राप्त करने के लिए निम्न कोड का उपयोग करें
int चौड़ाई =view.getMeasuredHeight();
किसी भी दृश्य की चौड़ाई प्राप्त करने के लिए निम्न कोड का उपयोग करें
int ऊंचाई =view.getMeasuredWidth();
चौड़ाई और ऊंचाई प्राप्त करने से पहले, हमें एक दृश्य के लिए डिफ़ॉल्ट माप निर्दिष्ट करना चाहिए जैसा कि नीचे दिखाया गया है
view.measure(0, 0);
उपरोक्त कोड दृश्य में या तो टेक्स्टव्यू, एडिटटेक्स्ट, बटन ..etc जैसा है। यहां एक उदाहरण दिया गया है कि एंड्रॉइड में किसी दृश्य के आयाम कैसे खोजें
चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।
उपरोक्त उदाहरण में हमारे पास कोई दृश्य नहीं है, हमने मूल दृश्य / मूल दृश्य बनाया है। हम जावा में चाइल्ड व्यू जोड़ सकते हैं जैसा कि नीचे दिखाया गया है -
<पूर्व>आयात android.os.Bundle;import android.support.constraint.ConstraintLayout;import android.support.v7.app.AppCompatActivity;import android.view.Gravity;import android.widget.LinearLayout;import android.widget.TextView;आयात android.widget.Toast;सार्वजनिक वर्ग MainActivity AppCompatActivity को बढ़ाता है {ConstraintLayout ConstraintLayout; @Override संरक्षित शून्य पर क्रिएट (बंडल सेव किया गया इंस्टेंसस्टेट) {super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); टेक्स्ट व्यू संदेश =नया टेक्स्ट व्यू (यह); msg.setText ("डायमेंशन की जाँच के लिए नमूना पाठ"); msg.setPadding(10, 10, 10, 10); संदेश.माप (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 लेआउट =(LinearLayout) findViewById(R.id.rootview); लेआउट.एडव्यू (संदेश); int चौड़ाई =msg.getMeasuredHeight (); इंट हाइट =msg.getMeasuredWidth (); Toast.makeText (यह, "चौड़ाई" + String.valueOf (चौड़ाई) + "ऊंचाई" + String.valueOf (ऊंचाई), Toast.LENGTH_LONG)। शो (); }}पूर्व>उपरोक्त उदाहरण में हमने एक डायनामिक टेक्स्टव्यू बनाया है और सेटटेक्स्ट (), सेटपैडिंग (), सेटग्रेविटी () जैसे टेक्स्टव्यू गुण जोड़े हैं। जैसा कि नीचे दिखाया गया है, हमने टेक्स्टव्यू के लिए लेआउट पैरामीटर दिए हैं।
LinearLayout.LayoutParams params =new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);params.setMargins(5, 15, 0, 0);msg.setLayoutParams(params);
अब हमें टेक्स्ट व्यू को पैरेंट व्यू में जोड़ना होगा जैसा कि नीचे दिखाया गया है -
LinearLayout लेआउट =(LinearLayout) findViewById(R.id.rootview);layout.addView(msg);
अंत में हमने getMeasuredHeight() का उपयोग किया है; और getMeasuredWidth (); नीचे दिखाए गए अनुसार टेक्स्ट व्यू की ऊंचाई और चौड़ाई खोजने के लिए -
int चौड़ाई =msg.getMeasuredHeight (); int ऊंचाई =msg.getMeasuredWidth (); Toast.makeText (यह, "चौड़ाई" + String.valueOf (चौड़ाई) + "ऊंचाई" + String.valueOf (ऊंचाई), टोस्ट .LENGTH_LONG).शो ();
आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक खोलें और टूलबार से रन आइकन पर क्लिक करें। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -
उपरोक्त स्क्रीन में हमें टोस्ट में टेक्स्टव्यू के आयाम मिले।