এই পৃষ্ঠাটি নিম্নলিখিত ধরণের সংস্থানগুলিকে সংজ্ঞায়িত করে যা আপনি বাহ্যিক করতে পারেন:
- বুল
- XML সম্পদ যা একটি বুলিয়ান মান বহন করে।
- রঙ
- XML সংস্থান যা একটি রঙের মান বহন করে (একটি হেক্সাডেসিমেল রঙ)।
- মাত্রা
- XML সংস্থান যা একটি মাত্রা মান বহন করে (পরিমাপের একক সহ)।
- আইডি
- XML সংস্থান যা অ্যাপ্লিকেশন সংস্থান এবং উপাদানগুলির জন্য একটি অনন্য শনাক্তকারী প্রদান করে৷
- পূর্ণসংখ্যা
- XML সম্পদ যা একটি পূর্ণসংখ্যা মান বহন করে।
- পূর্ণসংখ্যা অ্যারে
- XML সম্পদ যা পূর্ণসংখ্যার একটি অ্যারে প্রদান করে।
- টাইপ করা অ্যারে
- XML সংস্থান যা একটি
TypedArray
প্রদান করে (যা আপনি অঙ্কনযোগ্য অ্যারের জন্য ব্যবহার করতে পারেন)।
বুল
XML-এ সংজ্ঞায়িত একটি বুলিয়ান মান।
দ্রষ্টব্য: একটি bool হল একটি সাধারণ সম্পদ যা name
বৈশিষ্ট্যে প্রদত্ত মান ব্যবহার করে উল্লেখ করা হয়, XML ফাইলের নাম নয়। যেমন, আপনি একটি XML ফাইলে একটি <resources>
উপাদানের অধীনে অন্যান্য সাধারণ সম্পদের সাথে বুল সম্পদ একত্রিত করতে পারেন।
- ফাইল অবস্থান:
-
res/values/ filename .xml
ফাইলের নাম নির্বিচারে।<bool>
উপাদানটিরname
রিসোর্স আইডি হিসাবে ব্যবহৃত হয়। - সম্পদ রেফারেন্স:
- জাভাতে:
R.bool. bool_name
XML-এ:@[ package :]bool/ bool_name
- সিনট্যাক্স:
<?xml version="1.0" encoding="utf-8"?> <resources> <bool name="bool_name" >[true | false]</bool> </resources>
- উপাদান:
- উদাহরণ:
- XML ফাইল
res/values-small/bools.xml
এ সংরক্ষিত হয়েছে:<?xml version="1.0" encoding="utf-8"?> <resources> <bool name="screen_small">true</bool> <bool name="adjust_view_bounds">true</bool> </resources>
নিম্নলিখিত অ্যাপ্লিকেশন কোড বুলিয়ান পুনরুদ্ধার করে:
কোটলিন
val screenIsSmall: Boolean =
resources
.getBoolean
(R.bool.screen_small)জাভা
Resources res =
getResources()
; boolean screenIsSmall = res.getBoolean
(R.bool.screen_small);নিম্নলিখিত লেআউট XML একটি বৈশিষ্ট্যের জন্য বুলিয়ান ব্যবহার করে:
<ImageView android:layout_height="fill_parent" android:layout_width="fill_parent" android:src="@drawable/logo" android:adjustViewBounds="@bool/adjust_view_bounds" />
রঙ
XML-এ সংজ্ঞায়িত একটি রঙের মান। রঙ একটি RGB মান এবং আলফা চ্যানেল ব্যবহার করে নির্দিষ্ট করা হয়। হেক্সাডেসিমেল রঙের মান গ্রহণ করে এমন যেকোনো জায়গায় আপনি একটি রঙের সম্পদ ব্যবহার করতে পারেন। আপনি একটি রঙের সংস্থানও ব্যবহার করতে পারেন যখন XML-এ একটি অঙ্কনযোগ্য সংস্থান প্রত্যাশিত হয়, যেমন android:drawable="@color/green"
।
মান সর্বদা একটি পাউন্ড (#) অক্ষর দিয়ে শুরু হয়, যা নিম্নলিখিত ফর্ম্যাটে আলফা-লাল-সবুজ-নীল তথ্য দ্বারা অনুসরণ করা হয়:
- # আরজিবি
- # ARGB
- # আরআরজিবিবি
- # AARRGGBB
দ্রষ্টব্য: একটি রঙ একটি সাধারণ সম্পদ যা name
বৈশিষ্ট্যে প্রদত্ত মান ব্যবহার করে উল্লেখ করা হয়, XML ফাইলের নাম নয়। যেমন, আপনি একটি XML ফাইলে, একটি <resources>
উপাদানের অধীনে অন্যান্য সাধারণ সম্পদের সাথে রঙের সম্পদ একত্রিত করতে পারেন।
- ফাইল অবস্থান:
-
res/values/colors.xml
ফাইলের নাম নির্বিচারে।<color>
উপাদানটিরname
রিসোর্স আইডি হিসাবে ব্যবহৃত হয়। - সম্পদ রেফারেন্স:
- জাভাতে:
R.color. color_name
XML-এ:@[ package :]color/ color_name
- সিনট্যাক্স:
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="color_name" >hex_color</color> </resources>
- উপাদান:
- উদাহরণ:
- XML ফাইল
res/values/colors.xml
এ সংরক্ষিত হয়েছে:<?xml version="1.0" encoding="utf-8"?> <resources> <color name="opaque_red">#f00</color> <color name="translucent_red">#80ff0000</color> </resources>
নিম্নলিখিত অ্যাপ্লিকেশন কোড রঙ সম্পদ পুনরুদ্ধার করে:
কোটলিন
val color: Int =
resources
.getColor
(R.color.opaque_red)জাভা
Resources res =
getResources()
; int color = res.getColor
(R.color.opaque_red);নিম্নলিখিত লেআউট XML একটি বৈশিষ্ট্যে রঙ প্রয়োগ করে:
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="@color/translucent_red" android:text="Hello"/>
মাত্রা
XML-এ সংজ্ঞায়িত একটি মাত্রা মান। একটি মাত্রা একটি সংখ্যার সাথে নির্দিষ্ট করা হয় যার পরে পরিমাপের একক, যেমন 10px, 2in বা 5sp। নিম্নলিখিত পরিমাপের এককগুলি অ্যান্ড্রয়েড দ্বারা সমর্থিত:
-
dp
- ঘনত্ব-স্বাধীন পিক্সেল: একটি বিমূর্ত ইউনিট যা পর্দার শারীরিক ঘনত্বের উপর ভিত্তি করে। এই ইউনিটগুলি একটি 160 dpi (প্রতি ইঞ্চি বিন্দু) স্ক্রিনের সাথে আপেক্ষিক, যার উপর 1 dp প্রায় 1 px এর সমান। উচ্চ ঘনত্বের স্ক্রিনে চলার সময়, 1 dp আঁকতে ব্যবহৃত পিক্সেলের সংখ্যা স্ক্রীনের dpi-এর জন্য উপযুক্ত একটি ফ্যাক্টর দ্বারা স্কেল করা হয়।
একইভাবে, যখন একটি নিম্ন-ঘনত্বের স্ক্রিনে, 1 dp-এর জন্য ব্যবহৃত পিক্সেলের সংখ্যা ছোট করা হয়। ডিপিএস থেকে পিক্সেলের অনুপাত পর্দার ঘনত্বের সাথে পরিবর্তিত হয়, তবে সরাসরি অনুপাতে অগত্যা নয়। px ইউনিটের পরিবর্তে dp ইউনিট ব্যবহার করা হল বিভিন্ন স্ক্রীনের ঘনত্বের জন্য আপনার লেআউটের ভিউ ডাইমেনশন সঠিকভাবে রিসাইজ করার একটি সমাধান। এটি বিভিন্ন ডিভাইস জুড়ে আপনার UI উপাদানগুলির বাস্তব-বিশ্বের আকারের জন্য ধারাবাহিকতা প্রদান করে।
-
sp
- স্কেল-স্বাধীন পিক্সেল - এটি dp ইউনিটের মতো, তবে এটি ব্যবহারকারীর ফন্ট আকারের পছন্দ অনুসারেও স্কেল করা হয়। ফন্টের মাপ নির্দিষ্ট করার সময় এই ইউনিটটি ব্যবহার করার পরামর্শ দেওয়া হচ্ছে, যাতে স্ক্রীনের ঘনত্ব এবং ব্যবহারকারীর পছন্দ উভয়ের জন্যই এগুলি সামঞ্জস্য করা হবে।
-
pt
- পয়েন্ট: একটি 72 ডিপিআই ঘনত্বের স্ক্রীন ধরে নিয়ে স্ক্রিনের শারীরিক আকারের উপর ভিত্তি করে 1/72 ইঞ্চি।
-
px
- পিক্সেল: স্ক্রিনের প্রকৃত পিক্সেলের সাথে মিলে যায়। আমরা এই ইউনিটটি ব্যবহার করার পরামর্শ দিই না, কারণ প্রকৃত উপস্থাপনা ডিভাইস জুড়ে পরিবর্তিত হতে পারে। বিভিন্ন ডিভাইসে প্রতি ইঞ্চিতে বিভিন্ন সংখ্যক পিক্সেল থাকতে পারে এবং স্ক্রিনে মোট বা কম পিক্সেল উপলব্ধ থাকতে পারে।
-
mm
- মিলিমিটার: পর্দার শারীরিক আকারের উপর ভিত্তি করে।
-
in
- ইঞ্চি: পর্দার শারীরিক আকারের উপর ভিত্তি করে।
দ্রষ্টব্য: একটি মাত্রা হল একটি সাধারণ সম্পদ যা name
বৈশিষ্ট্যে প্রদত্ত মান ব্যবহার করে উল্লেখ করা হয়, XML ফাইলের নাম নয়। যেমন, আপনি একটি XML ফাইলে, একটি <resources>
উপাদানের অধীনে অন্যান্য সাধারণ সংস্থানগুলির সাথে মাত্রা সংস্থানগুলি একত্রিত করতে পারেন।
- ফাইল অবস্থান:
-
res/values/ filename .xml
ফাইলের নাম নির্বিচারে।<dimen>
উপাদানটিরname
রিসোর্স আইডি হিসাবে ব্যবহৃত হয়। - সম্পদ রেফারেন্স:
- জাভাতে:
R.dimen. dimension_name
XML-এ:@[ package :]dimen/ dimension_name
- সিনট্যাক্স:
<?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="dimension_name" >dimension</dimen> </resources>
- উপাদান:
- উদাহরণ:
- XML ফাইল
res/values/dimens.xml
এ সংরক্ষিত হয়েছে:<?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="textview_height">25dp</dimen> <dimen name="textview_width">150dp</dimen> <dimen name="ball_radius">30dp</dimen> <dimen name="font_size">16sp</dimen> </resources>
নিম্নলিখিত অ্যাপ্লিকেশন কোড একটি মাত্রা পুনরুদ্ধার করে:
কোটলিন
val fontSize: Float =
resources
.getDimension
(R.dimen.font_size)জাভা
Resources res =
getResources()
; float fontSize = res.getDimension
(R.dimen.font_size);নিম্নলিখিত লেআউট XML বৈশিষ্ট্যগুলিতে মাত্রা প্রয়োগ করে:
<TextView android:layout_height="@dimen/textview_height" android:layout_width="@dimen/textview_width" android:textSize="@dimen/font_size"/>
আইডি
XML-এ সংজ্ঞায়িত একটি অনন্য সম্পদ আইডি। আপনি <item>
উপাদানে যে নামটি প্রদান করেন তা ব্যবহার করে, Android বিকাশকারী সরঞ্জামগুলি আপনার প্রকল্পের R.java
ক্লাসে একটি অনন্য পূর্ণসংখ্যা তৈরি করে, যা আপনি একটি অ্যাপ্লিকেশন সংস্থানগুলির জন্য একটি শনাক্তকারী হিসাবে ব্যবহার করতে পারেন, যেমন আপনার UI বিন্যাসে একটি View
, বা আপনার অ্যাপ্লিকেশন কোডে ব্যবহারের জন্য একটি অনন্য পূর্ণসংখ্যা, যেমন একটি ডায়ালগের জন্য একটি আইডি বা একটি ফলাফল কোড।
দ্রষ্টব্য: একটি আইডি একটি সাধারণ সম্পদ যা name
বৈশিষ্ট্যে প্রদত্ত মান ব্যবহার করে উল্লেখ করা হয়, XML ফাইলের নাম নয়। যেমন, আপনি একটি XML ফাইলে, একটি <resources>
উপাদানের অধীনে অন্যান্য সাধারণ সম্পদের সাথে আইডি সংস্থানগুলি একত্রিত করতে পারেন। এছাড়াও, একটি আইডি সংস্থান একটি প্রকৃত সম্পদ আইটেম উল্লেখ করে না: এটি একটি অনন্য আইডি যা আপনি অন্যান্য সংস্থানগুলির সাথে সংযুক্ত করতে পারেন বা আপনার অ্যাপ্লিকেশনে একটি অনন্য পূর্ণসংখ্যা হিসাবে ব্যবহার করতে পারেন৷
- ফাইল অবস্থান:
-
res/values/ filename.xml
ফাইলের নাম নির্বিচারে। - সম্পদ রেফারেন্স:
- জাভাতে:
R.id. name
XML-এ:@[ package :]id/ name
- সিনট্যাক্স:
<?xml version="1.0" encoding="utf-8"?> <resources> <item type="id" name="id_name" /> </resources>
- উপাদান:
- উদাহরণ:
XML ফাইল
res/values/ids.xml
এ সংরক্ষিত হয়েছে:<?xml version="1.0" encoding="utf-8"?> <resources> <item type="id" name="button_ok" /> <item type="id" name="dialog_exit" /> </resources>
নিম্নলিখিত লেআউট স্নিপেট একটি
Button
উইজেটের জন্য"button_ok"
ID ব্যবহার করে:<Button android:id="@id/button_ok" style="@style/button_style" />
এখানে
android:id
মান আইডি রেফারেন্সে প্লাস সাইন অন্তর্ভুক্ত করে না, কারণ আইডিটি আগে থেকেই বিদ্যমান, যেমনটি পূর্ববর্তীids.xml
উদাহরণে সংজ্ঞায়িত করা হয়েছে। আপনি যখনandroid:id="@+id/name"
ফরম্যাটে প্লাস সাইন ব্যবহার করে একটি XML রিসোর্সে একটি আইডি নির্দিষ্ট করেন, তার মানে হল যে"name"
আইডিটি এখনও বিদ্যমান নেই এবং এটি তৈরি হয়েছে৷আরেকটি উদাহরণ হিসাবে, নিম্নলিখিত কোড স্নিপেট একটি ডায়ালগের জন্য একটি অনন্য শনাক্তকারী হিসাবে
"dialog_exit"
ID ব্যবহার করে:কোটলিন
showDialog
(R.id.dialog_exit)জাভা
showDialog
(R.id.dialog_exit);একই অ্যাপ্লিকেশনে, একটি ডায়ালগ তৈরি করার সময়
"dialog_exit"
ID তুলনা করা হয়:কোটলিন
override fun
onCreateDialog
(id: Int): Dialog? { return when(id) { R.id.dialog_exit -> { ... } else -> { null } } }জাভা
protected Dialog
onCreateDialog
(int id) { Dialog dialog; switch(id) { case R.id.dialog_exit: ... break; default: dialog = null; } return dialog; }
পূর্ণসংখ্যা
XML-এ সংজ্ঞায়িত একটি পূর্ণসংখ্যা।
দ্রষ্টব্য: একটি পূর্ণসংখ্যা হল একটি সাধারণ সম্পদ যা name
বৈশিষ্ট্যে প্রদত্ত মান ব্যবহার করে উল্লেখ করা হয়, XML ফাইলের নাম নয়। যেমন, আপনি একটি XML ফাইলে, একটি <resources>
উপাদানের অধীনে অন্যান্য সাধারণ সংস্থানগুলির সাথে পূর্ণসংখ্যার সংস্থানগুলিকে একত্রিত করতে পারেন।
- ফাইল অবস্থান:
-
res/values/ filename.xml
ফাইলের নাম নির্বিচারে।<integer>
উপাদানটিরname
রিসোর্স আইডি হিসাবে ব্যবহৃত হয়। - সম্পদ রেফারেন্স:
- জাভাতে:
R.integer. integer_name
XML-এ:@[ package :]integer/ integer_name
- সিনট্যাক্স:
<?xml version="1.0" encoding="utf-8"?> <resources> <integer name="integer_name" >integer</integer> </resources>
- উপাদান:
- উদাহরণ:
XML ফাইল
res/values/integers.xml
এ সংরক্ষিত হয়েছে :<?xml version="1.0" encoding="utf-8"?> <resources> <integer name="max_speed">75</integer> <integer name="min_speed">5</integer> </resources>
নিম্নলিখিত অ্যাপ্লিকেশন কোড একটি পূর্ণসংখ্যা পুনরুদ্ধার করে:
কোটলিন
val maxSpeed: Int =
resources
.getInteger
(R.integer.max_speed)জাভা
Resources res =
getResources()
; int maxSpeed = res.getInteger
(R.integer.max_speed);
পূর্ণসংখ্যা অ্যারে
XML-এ সংজ্ঞায়িত পূর্ণসংখ্যার একটি অ্যারে।
দ্রষ্টব্য: একটি পূর্ণসংখ্যা অ্যারে হল একটি সাধারণ সম্পদ যা name
বৈশিষ্ট্যে প্রদত্ত মান ব্যবহার করে উল্লেখ করা হয়, XML ফাইলের নাম নয়। যেমন, আপনি একটি XML ফাইলে, একটি <resources>
উপাদানের অধীনে অন্যান্য সাধারণ সংস্থানগুলির সাথে পূর্ণসংখ্যা অ্যারে সংস্থানগুলিকে একত্রিত করতে পারেন।
- ফাইল অবস্থান:
-
res/values/ filename .xml
ফাইলের নাম নির্বিচারে।<integer-array>
উপাদানটিরname
রিসোর্স আইডি হিসাবে ব্যবহৃত হয়। - সংকলিত সম্পদ ডেটা টাইপ:
- পূর্ণসংখ্যার একটি অ্যারের সম্পদ পয়েন্টার.
- সম্পদ রেফারেন্স:
- জাভাতে:
R.array. integer_array_name
XML-এ:@[ package :]array/ integer_array_name
- সিনট্যাক্স:
<?xml version="1.0" encoding="utf-8"?> <resources> <integer-array name="integer_array_name"> <item >integer</item> </integer-array> </resources>
- উপাদান:
- উদাহরণ:
- XML ফাইল
res/values/integers.xml
এ সংরক্ষিত হয়েছে :<?xml version="1.0" encoding="utf-8"?> <resources> <integer-array name="bits"> <item>4</item> <item>8</item> <item>16</item> <item>32</item> </integer-array> </resources>
নিম্নলিখিত অ্যাপ্লিকেশন কোড পূর্ণসংখ্যা অ্যারে পুনরুদ্ধার করে:
কোটলিন
val bits: IntArray =
resources
.getIntArray
(R.array.bits)জাভা
Resources res =
getResources()
; int[] bits = res.getIntArray
(R.array.bits);
টাইপ করা অ্যারে
XML-এ সংজ্ঞায়িত একটি TypedArray
. আপনি অন্যান্য সংস্থানগুলির একটি অ্যারে তৈরি করতে এটি ব্যবহার করতে পারেন, যেমন অঙ্কনযোগ্য। অ্যারেটি সমজাতীয় হওয়ার প্রয়োজন নেই, তাই আপনি মিশ্র সম্পদ প্রকারের একটি অ্যারে তৈরি করতে পারেন, তবে অ্যারেতে কী এবং কোথায় ডেটা টাইপ রয়েছে সে সম্পর্কে সচেতন থাকুন যাতে আপনি TypedArray
ক্লাসের সাথে প্রতিটি আইটেম সঠিকভাবে পেতে পারেন get...()
পদ্ধতি।
দ্রষ্টব্য: একটি টাইপ করা অ্যারে হল একটি সাধারণ সম্পদ যা name
বৈশিষ্ট্যে প্রদত্ত মান ব্যবহার করে উল্লেখ করা হয়, XML ফাইলের নাম নয়। যেমন, আপনি একটি XML ফাইলে, একটি <resources>
উপাদানের অধীনে টাইপ করা অ্যারে সংস্থানগুলিকে অন্যান্য সাধারণ সংস্থানগুলির সাথে একত্রিত করতে পারেন।
- ফাইল অবস্থান:
-
res/values/ filename .xml
ফাইলের নাম নির্বিচারে।<array>
উপাদানটিরname
রিসোর্স আইডি হিসাবে ব্যবহৃত হয়। - সংকলিত সম্পদ ডেটা টাইপ:
- একটি
TypedArray
এ রিসোর্স পয়েন্টার। - সম্পদ রেফারেন্স:
- জাভাতে:
R.array. array_name
XML-এ:@[ package :]array/ array_name
- সিনট্যাক্স:
<?xml version="1.0" encoding="utf-8"?> <resources> <array name="integer_array_name"> <item>resource</item> </array> </resources>
- উপাদান:
- উদাহরণ:
- XML ফাইল
res/values/arrays.xml
এ সংরক্ষিত হয়েছে:<?xml version="1.0" encoding="utf-8"?> <resources> <array name="icons"> <item>@drawable/home</item> <item>@drawable/settings</item> <item>@drawable/logout</item> </array> <array name="colors"> <item>#FFFF0000</item> <item>#FF00FF00</item> <item>#FF0000FF</item> </array> </resources>
নিম্নলিখিত অ্যাপ্লিকেশন কোড প্রতিটি অ্যারে পুনরুদ্ধার করে এবং তারপর প্রতিটি অ্যারেতে প্রথম এন্ট্রি পায়:
কোটলিন
val icons: TypedArray =
resources
.obtainTypedArray
(R.array.icons) val drawable: Drawable = icons.getDrawable
(0) val colors: TypedArray =resources
.obtainTypedArray
(R.array.colors) val color: Int = colors.getColor
(0,0)জাভা
Resources res =
getResources()
; TypedArray icons = res.obtainTypedArray
(R.array.icons); Drawable drawable = icons.getDrawable
(0); TypedArray colors = res.obtainTypedArray
(R.array.colors); int color = colors.getColor
(0,0);