কম্পিউটার

অ্যান্ড্রয়েডে একটি ভিউ এর মাত্রা কিভাবে পেতে হয়?


অনেক কেস আছে, আমাদের এক্সএমএল ভিউ তৈরি না করে ডাইনামিক ভিউ তৈরি করা উচিত। সেই পরিস্থিতিতে, আমাদের একটি দৃশ্যের মাত্রা পেতে হবে। তাই অ্যান্ড্রয়েডে ভিউয়ের মাত্রা পেতে এখানে একটি সহজ সমাধান।

যেকোনো ভিউয়ের উচ্চতা পেতে নিম্নলিখিত কোডটি ব্যবহার করুন

int width =view.getMeasuredHeight();

যেকোনো ভিউয়ের প্রস্থ পেতে নিম্নলিখিত কোডটি ব্যবহার করুন

int উচ্চতা =view.getMeasuredWidth();

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

view.measure(0, 0);

উপরের কোড ভিউ টেক্সটভিউ, এডিট টেক্সট, বাটন .. ইত্যাদির মতো। অ্যান্ড্রয়েড

-এ কীভাবে একটি ভিউয়ের মাত্রা খুঁজে বের করতে হয় সে সম্পর্কে এখানে একটি উদাহরণ দেখানো হয়েছে

ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে সমস্ত প্রয়োজনীয় বিবরণ পূরণ করুন৷

ধাপ 2 − res/layout/activity_main.xml-এ নিম্নলিখিত কোড যোগ করুন।

উপরের উদাহরণে আমাদের কোন ভিউ নেই, আমরা একটি রুট ভিউ/প্যারেন্ট ভিউ তৈরি করেছি। আমরা java-তে চাইল্ড ভিউ যোগ করতে পারি যেমন নিচে দেখানো হয়েছে −

 android.os.Bundle আমদানি করুন; android.support.constraint.ConstraintLayout আমদানি করুন; android.support.v7.app.AppCompatActivity আমদানি করুন; android.view.Gravity আমদানি করুন; android.widget.LinearLayout আমদানি করুন; android.widget.TextView আমদানি করুন;Android.widget.Toast আমদানি করুন;পাবলিক ক্লাস MainActivity AppCompatActivity প্রসারিত করে { ConstraintLayout constraintLayout; @ওভাররাইড সুরক্ষিত অকার্যকর onCreate(বান্ডেল savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView msg =নতুন TextView(this); msg.setText("ডাইমেনশন চেক করার জন্য নমুনা টেক্সট"); 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); লিনিয়ার লেআউট লেআউট =(লিনিয়ার লেআউট) findViewById(R.id.rootview); layout.addView(msg); int width =msg.getMeasuredHeight(); int উচ্চতা =msg.getMeasuredWidth(); Toast.makeText(এটি, "প্রস্থ" + String.valueOf(width) + " height " + String.valueOf(height), Toast.LENGTH_LONG).show(); }}

উপরের উদাহরণে আমরা একটি ডায়নামিক টেক্সটভিউ তৈরি করেছি এবং সেটটেক্সট(),সেটপ্যাডিং(),সেটগ্র্যাভিটি() এর মতো টেক্সটভিউ বৈশিষ্ট্য যুক্ত করেছি। আমরা নীচে দেখানো হিসাবে টেক্সটভিউ জন্য লেআউট প্যারাম দিয়েছি।

LinearLayout.LayoutParams params =new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);params.setMargins(5, 15, 0, 0, ms.msaray); 

এখন আমাদের টেক্সট ভিউকে প্যারেন্ট ভিউতে যুক্ত করতে হবে যেমন নীচে দেখানো হয়েছে −

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

অবশেষে আমরা getMeasuredHeight(); এবং getMeasuredWidth(); নীচে দেখানো হিসাবে পাঠ্য দৃশ্যের উচ্চতা এবং প্রস্থ খুঁজে পেতে −

int width =msg.getMeasuredHeight();int height =msg.getMeasuredWidth();Toast.makeText(এটি, "প্রস্থ" + String.valueOf(প্রস্থ) + "উচ্চতা" + String.valueOf(উচ্চতা), টোস্ট .LENGTH_LONG).শো();

আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করা যাক. আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রান আইকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে -

অ্যান্ড্রয়েডে একটি ভিউ এর মাত্রা কিভাবে পেতে হয়?

উপরের স্ক্রিনে আমরা টোস্টে টেক্সটভিউয়ের মাত্রা পেয়েছি।


  1. অ্যান্ড্রিওডে একটি সম্পাদনা পাঠ্য ক্ষেত্রের মান কীভাবে পাবেন?

  2. অ্যান্ড্রয়েডে রেডিও গ্রুপের নির্বাচিত সূচক কীভাবে পাবেন?

  3. অ্যান্ড্রয়েডে অ্যাকশন বারের উচ্চতা কীভাবে পাবেন?

  4. অ্যান্ড্রয়েড এমুলেটরের আইপি ঠিকানা কীভাবে পাবেন?