একটি লেআউট সংস্থান একটি Activity
বা একটি UI এর একটি উপাদানে UI-এর জন্য আর্কিটেকচারকে সংজ্ঞায়িত করে৷
- ফাইল অবস্থান:
-
res/layout/ filename .xml
ফাইলের নাম রিসোর্স আইডি হিসাবে ব্যবহৃত হয়। - সংকলিত সম্পদ ডেটা টাইপ:
- একটি
View
(বা সাবক্লাস) রিসোর্সে রিসোর্স পয়েন্টার - সম্পদ রেফারেন্স:
- জাভাতে:
R.layout. filename
XML-এ:@[ package :]layout/ filename
- সিনট্যাক্স:
<?xml version="1.0" encoding="utf-8"?> <ViewGroup xmlns:android="http://schemas.android.com/apk/res/android" android:id="@[+][package:]id/resource_name" android:layout_height=["dimension" | "match_parent" | "wrap_content"] android:layout_width=["dimension" | "match_parent" | "wrap_content"] [ViewGroup-specific attributes] > <View android:id="@[+][package:]id/resource_name" android:layout_height=["dimension" | "match_parent" | "wrap_content"] android:layout_width=["dimension" | "match_parent" | "wrap_content"] [View-specific attributes] > <requestFocus/> </View> <ViewGroup > <View /> </ViewGroup> <include layout="@layout/layout_resource"/> </ViewGroup>
দ্রষ্টব্য: মূল উপাদানটি একটি
ViewGroup
, একটিView
, বা একটি<merge>
উপাদান হতে পারে, তবে শুধুমাত্র একটি মূল উপাদান থাকতে পারে এবং এটিতে অবশ্যইxmlns:android
নামস্থান সহandroid
নামস্থানের পূর্ববর্তী বাক্য গঠন উদাহরণে দেখানো হয়েছে।- উপাদান:
android:id এর জন্য মান
আইডি মানের জন্য, আপনি সাধারণত এই সিনট্যাক্স ফর্মটি ব্যবহার করেন:
"@+id/ name "
, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে। প্লাস চিহ্ন,+
, নির্দেশ করে যে এটি একটি নতুন রিসোর্স আইডি, এবংaapt
টুলটিR.java
ক্লাসে একটি নতুন রিসোর্স পূর্ণসংখ্যা তৈরি করে, যদি এটি ইতিমধ্যে বিদ্যমান না থাকে।<TextView android:id="@+id/nameTextbox"/>
nameTextbox
নামটি এখন এই উপাদানটির সাথে সংযুক্ত একটি রিসোর্স আইডি। তারপরে আপনিTextView
উল্লেখ করতে পারেন যার সাথে আইডিটি জাভাতে যুক্ত:কোটলিন
val textView: TextView? = findViewById(R.id.nameTextbox)
জাভা
TextView textView = findViewById(R.id.nameTextbox);
এই কোডটি
TextView
অবজেক্ট রিটার্ন করে।যাইহোক, যদি আপনি ইতিমধ্যেই একটি আইডি রিসোর্স সংজ্ঞায়িত করে থাকেন, এবং এটি ইতিমধ্যেই ব্যবহার করা না হয়, তাহলে আপনি
android:id
মানের প্লাস চিহ্নটি বাদ দিয়ে একটিView
এলিমেন্টে সেই IDটি প্রয়োগ করতে পারেন।android:layout_height এবং android:layout_width-এর মান
উচ্চতা এবং প্রস্থের মানগুলি অ্যান্ড্রয়েড (px, dp, sp, pt, in, mm) দ্বারা সমর্থিত যেকোন মাত্রা ইউনিট ব্যবহার করে বা নিম্নলিখিত কীওয়ার্ডগুলির সাহায্যে প্রকাশ করা হয়:
মান বর্ণনা match_parent
প্যারেন্ট উপাদানের সাথে মেলে মাত্রা সেট করে। API লেভেল 8 এ যোগ করা হয়েছে fill_parent
বর্জন করতে।wrap_content
এই উপাদানটির বিষয়বস্তুর সাথে মানানসই করার জন্য প্রয়োজনীয় আকারে শুধুমাত্র মাত্রা সেট করে। কাস্টম ভিউ উপাদান
আপনি কাস্টম
View
এবংViewGroup
এলিমেন্ট তৈরি করতে পারেন এবং একটি স্ট্যান্ডার্ড লেআউট এলিমেন্টের মতো আপনার লেআউটে প্রয়োগ করতে পারেন। আপনি XML উপাদানে সমর্থিত বৈশিষ্ট্যগুলিও নির্দিষ্ট করতে পারেন। আরও তথ্যের জন্য, কাস্টম ভিউ উপাদান তৈরি করুন দেখুন।- উদাহরণ:
- XML ফাইল
res/layout/main_activity.xml
এ সংরক্ষিত হয়েছে:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, I am a TextView" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, I am a Button" /> </LinearLayout>
এই অ্যাপ্লিকেশন কোড
onCreate()
পদ্ধতিতে একটিActivity
জন্য লেআউট লোড করে:কোটলিন
public override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.main_activity) }
জাভা
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_activity); }
- এছাড়াও দেখুন: