কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েডে ভিউর ডাইমেনশন (উচ্চতা/প্রস্থ) প্রোগ্রাম্যাটিক্যালি পাওয়া


getMeasuredWidth/Height দিয়ে ডাইনামিক ভিউর সাইজ পাওয়া

XML-এ না থাকা ডাইনামিক্যালি তৈরি ভিউর সাইজ পেতে measure() কল করতে হয়, তারপর getMeasuredWidth() / getMeasuredHeight()।

কোড উদাহরণ

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        LinearLayout root = findViewById(R.id.rootview);
        
        // ডাইনামিক টেক্সটভিউ তৈরি
        TextView tv = new TextView(this);
        tv.setText("Sample text for checking dimensions");
        tv.setPadding(16, 16, 16, 16);
        tv.setTextSize(18);
        
        // মেজার স্পেসিফিকেশন (UNSPECIFIED = যত বড় হতে চায়)
        tv.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
        
        // লেআউট প্যারাম
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.WRAP_CONTENT,
            LinearLayout.LayoutParams.WRAP_CONTENT);
        params.setMargins(16, 32, 0, 0);
        tv.setLayoutParams(params);
        
        root.addView(tv);
        
        // এখন সাইজ পাওয়া যাবে
        int width = tv.getMeasuredWidth();
        int height = tv.getMeasuredHeight();
        
        Toast.makeText(this, "Width: " + width + "px, Height: " + height + "px", Toast.LENGTH_LONG).show();
    }
}

মূল পয়েন্ট

  • measure(0,0) বা UNSPECIFIED দিয়ে মেজার পাস করুন।
  • getWidth()/getHeight() লেআউট কমপ্লিট হওয়ার পরে কাজ করে (onWindowFocusChanged বা ViewTreeObserver-এ)।
  • getMeasuredWidth()/Height() মেজার পাসের ফলাফল দেয়।

XML-এ থাকা ভিউর সাইজ

// onWindowFocusChanged-এ বা View.post(() -> ...) ব্যবহার করুন
view.post(() -> {
    int w = view.getWidth();
    int h = view.getHeight();
});

  1. অ্যান্ড্রয়েডে EditText ফিল্ডের মান পাওয়ার পদ্ধতি

  2. অ্যান্ড্রয়েডে RadioGroup-এ সিলেক্ট করা রেডিও বাটনের ইনডেক্স পাওয়ার পদ্ধতি

  3. অ্যান্ড্রয়েডে ActionBar/Toolbar-এর উচ্চতা পাওয়ার পদ্ধতি

  4. Android Emulator-এর IP Address পাওয়ার পদ্ধতি