প্রোগ্রামগতভাবে সীমাবদ্ধতার সেট করার ধারণাটি ক্লান্তিকর হতে পারে। সীমাবদ্ধতা, রৈখিক ইত্যাদি যে কোনও বিন্যাসের জন্য নীচের এই সমাধানটি কাজ করবে সর্বোত্তম উপায় হ'ল প্লেসহোল্ডারকে ঠিকঠাক স্থির করে (বা অন্যান্য বিন্যাসে যেমন লিনিয়ারে যথাযথ স্থাপন) এমন স্থানে যেখানে আপনি প্রোগ্রামভিত্তিকভাবে তৈরি দৃশ্যের প্রত্যাশা করবেন আছে।
আপনার যা করতে হবে তা হল addChild()পদ্ধতিটি ব্যবহার করে ফ্রেমলআউটে শিশু হিসাবে এটিকে দেখার জন্য inf তারপরে রানটাইমের সময় আপনার দর্শন ফুলে উঠবে এবং সঠিক অবস্থানে রাখা হবে। অ্যান্ড্রয়েডের প্রতি পরামর্শ অনুযায়ী আপনার ফ্রেমলাউট [লিঙ্ক] এ কেবলমাত্র একটি চাইল্ডভিউ যুক্ত করা উচিত ।
আপনার কোডটি দেখতে কেমন হবে তা মনে করে আপনি কোনও নির্দিষ্ট অবস্থানে প্রোগ্রাম্যাটিকভাবে টেক্সটভিউ তৈরি করতে চান:
ধাপ 1:
আপনার লেআউটে যা ভিউতে স্ফীত হতে পারে, সঠিক ফ্রেমে একটি ফ্রেমলাউট রাখুন এবং একটি আইডি দিন, "ধারক" বলুন।
পদক্ষেপ 2
রানটাইম চলাকালীন আপনি যে ভিউটি বাড়িয়ে তুলতে চান সেই হিসাবে মূল উপাদানটির সাথে একটি বিন্যাস তৈরি করুন, লেআউট ফাইলটিকে "টেক্সটভিউ.এক্সএমএল" হিসাবে কল করুন:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
</TextView>
বিটিডাব্লু, আপনার ফ্রেমের লেআউট-প্যারামগুলি সেট করে রাখুন লেপআউটটি সর্বদা র্যাপ_কন্টেন্টে রাখুন অন্যথায় ফ্রেম লেআউটটি প্যারেন্টের মতো বড় হয়ে যাবে অর্থাৎ ক্রিয়াকলাপ অর্থাৎ ফোনের স্ক্রিন।
android:layout_width="wrap_content"
android:layout_height="wrap_content"
যদি সেট না করা থাকে, কারণ ডিফল্টরূপে ফ্রেমের একটি শিশু দর্শন ফ্রেম বিন্যাসের বাম-শীর্ষে যায়, সুতরাং আপনার দৃশ্যটি কেবল স্ক্রিনের বাম দিকে চলে যাবে।
ধাপ 3
আপনার oncreate পদ্ধতিতে, এটি করুন:
FrameLayout frameLayout = findViewById(R.id.container);
TextView textView = (TextView) View.inflate(this, R.layout.textview, null);
frameLayout.addView(textView);
(নোট করুন যে কনটেইনার ভিউতে কল করে শেষ পরামিতি সেট findViewByIdকরা nullএবং addView()ভিউ যুক্ত করা (ফ্রেমলআউট) কেবল trueতৃতীয় প্যারামিটারে পাস করে ফুলে যাওয়া ভিউ সংযুক্ত করার সমান is findViewById()আরও দেখুন এটি দেখুন ))