تحدد هذه الصفحة أنواع الموارد التالية التي يمكنك إرسالها خارجيًا:
- قيمة منطقية
- مورد XML يتضمّن قيمة منطقية
- اللون
- مورد XML يتضمّن قيمة لون (لون سداسي عشري)
- السمة
- مورد XML يحمل قيمة سمة (مع وحدة قياس).
- الإندونيسية
- مورد XML يوفر معرّفًا فريدًا لموارد التطبيق ومكوّناته
- عدد صحيح
- مورد XML يحمل قيمة عدد صحيح
- صفيفة عدد صحيح
- مورد XML يوفّر مجموعة من الأعداد الصحيحة
- المصفوفة المكتوبة
- مورد XML يوفّر عنصر
TypedArray
(يمكنك استخدامه لمجموعة من العناصر القابلة للرسم).
منطقية
قيمة منطقية معرَّفة في XML.
ملاحظة: القيمة المنطقية هي مورد بسيط تتم الإشارة إليه باستخدام القيمة المقدَّمة في السمة name
، وليس اسم ملف XML. وبناءً على ذلك، يمكنك دمج الموارد المنطقية مع موارد أخرى بسيطة في ملف XML واحد ضمن عنصر <resources>
واحد.
- موقع الملف:
res/values/filename.xml
اسم الملف عشوائي. يتم استخدامname
للعنصر<bool>
كمعرّف المورد.- مرجع للموارد:
-
في لغة Java:
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>
تسترد شفرة التطبيق التالية القيمة المنطقية:
Kotlin
val screenIsSmall: Boolean =
resources
.getBoolean
(R.bool.screen_small)Java
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.
يتم تحديد اللون باستخدام قيمة نموذج أحمر أخضر أزرق وقناة ألفا. يمكنك استخدام مورد لون في أي
مكان يقبل قيمة لون سداسية عشرية. يمكنك أيضًا استخدام مورد ألوان عندما يكون
موردًا قابلاً للرسم بتنسيق XML، مثل android:drawable="@color/green"
.
تبدأ القيمة دائمًا بحرف رطل (#)، متبوعًا بمعلومات Alpha-Red-Green-Blue بأحد التنسيقات التالية:
- #نموذج أحمر أخضر أزرق
- #ARGB
- #RRGGBB
- #AARRGGBB
ملاحظة: اللون هو مورد بسيط تتم الإشارة إليه
باستخدام القيمة المقدَّمة في السمة name
، وليس اسم ملف XML. وعلى هذا النحو، يمكنك دمج موارد الألوان مع موارد أخرى بسيطة في ملف XML واحد ضمن عنصر <resources>
واحد.
- موقع الملف:
res/values/colors.xml
اسم الملف عشوائي. يتم استخدامname
للعنصر<color>
كرقم تعريف المورد.- مرجع للموارد:
-
في لغة Java:
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>
يسترد رمز التطبيق التالي مورد الألوان:
Kotlin
val color: Int =
resources
.getColor
(R.color.opaque_red)Java
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. يتم تحديد البُعد برقم متبوعًا بوحدة قياس، مثل 10 بكسل أو 2 بوصة أو 5sp. يعتمد نظام التشغيل Android وحدات القياس التالية:
dp
- وحدات البكسل غير المرتبطة بالكثافة: هي وحدة مجرّدة تستند إلى الكثافة المادية للشاشة. وتعود هذه الوحدات إلى الشاشة التي تبلغ درجة دقتها 160 نقطة لكل بوصة، أي ما يساوي 1 وحدة بكسل مستقلة الكثافة تقريبًا 1 بكسل تقريبًا. عند تشغيل الفيديو على شاشة ذات كثافة أعلى، يتم زيادة عدد وحدات البكسل المستخدمة للرسم بمقدار 1 وحدة بكسل مستقلة الكثافة بمقدار عامل مناسب للنقاط لكل بوصة (DPI) في الشاشة.
وبالمثل، عندما تكون الشاشة منخفضة الكثافة، يتم تقليل عدد وحدات البكسل المستخدمة لقيمة 1 وحدة بكسل مستقلة الكثافة. تتغير نسبة وحدات البكسل في الثانية إلى وحدات البكسل حسب كثافة الشاشة، ولكن ليس بالضرورة بالتناسب المباشر. ويعتبر استخدام وحدات dp بدلاً من وحدات بكسل حلاً لجعل أبعاد العرض في التخطيط لديك يتم تغيير حجمها بشكل صحيح حسب كثافات الشاشة المختلفة. ويوفر الاتساق مع الأحجام الواقعية لعناصر واجهة المستخدم عبر الأجهزة المختلفة.
sp
- وحدات البكسل غير المرتبطة بالمقياس: تشبه وحدة البكسل dp، ولكن يتم قياسها أيضًا وفقًا لحجم الخط الذي يفضّله المستخدم. ننصح باستخدام هذه الوحدة عند تحديد أحجام الخطوط، حتى يتم تعديلها وفقًا لكثافة الشاشة وما يفضّله المستخدم.
pt
- النقاط: 1/72 بوصة استنادًا إلى الحجم الفعلي للشاشة، مع افتراض أنّ الشاشة بكثافة 72 نقطة لكل بوصة
px
- وحدات البكسل: تتوافق مع وحدات البكسل الفعلية على الشاشة. لا ننصح باستخدام هذه الوحدة، لأنّ التمثيل الفعلي قد يختلف باختلاف الأجهزة. يمكن أن يكون للأجهزة المختلفة عدد مختلف من وحدات البكسل لكل بوصة، وقد يكون إجمالي عدد وحدات البكسل على الشاشة أقل أو أقل.
mm
- المليمترات: تعتمد على الحجم الفعلي للشاشة.
in
- البوصة: استنادًا إلى الحجم الفعلي للشاشة
ملاحظة:السمة هي مورد بسيط تتم الإشارة إليه باستخدام القيمة المقدَّمة في السمة name
، وليس باستخدام اسم ملف XML. وعلى هذا النحو، يمكنك دمج موارد الأبعاد مع موارد أخرى بسيطة في ملف XML واحد ضمن عنصر <resources>
واحد.
- موقع الملف:
res/values/filename.xml
اسم الملف عشوائي. يتم استخدامname
للعنصر<dimen>
كرقم تعريف المورد.- مرجع للموارد:
-
في لغة Java:
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>
يسترد رمز التطبيق التالي إحدى السمات:
Kotlin
val fontSize: Float =
resources
.getDimension
(R.dimen.font_size)Java
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
لمشروعك، ويمكنك استخدامه كمعرّف لموارد التطبيق، مثل View
في تنسيق واجهة المستخدم، أو عدد صحيح فريد للاستخدام في رمز التطبيق، مثل معرّف لمربّع حوار أو رمز نتيجة.
ملاحظة:رقم التعريف هو مورد بسيط تتم الإشارة إليه
باستخدام القيمة المقدَّمة في السمة name
، وليس اسم ملف XML. وبالتالي، يمكنك دمج موارد المعرّفات مع موارد أخرى بسيطة في ملف XML واحد
ضمن عنصر <resources>
واحد. أيضًا، لا يشير مورد المعرف إلى عنصر مورد فعلي: إنه معرف فريد يمكنك إرفاقه بموارد أخرى أو استخدامه
كعدد صحيح فريد في تطبيقك.
- موقع الملف:
res/values/filename.xml
اسم الملف عشوائي.- مرجع للموارد:
-
في لغة Java:
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_ok"
للتطبيق المصغّرButton
:<Button android:id="@id/button_ok" style="@style/button_style" />
لا تشمل قيمة
android:id
هنا علامة الجمع في مرجع المعرّف، لأن المعرّف متوفّر، كما هو محدّد في مثالids.xml
السابق. عندما تحدد معرّفًا لمورد XML باستخدام علامة الجمع، بالتنسيقandroid:id="@+id/name"
، هذا يعني أنّ معرّف"name"
غير متوفّر بعد، وبالتالي تم إنشاؤه.في مثال آخر، يستخدم مقتطف الرمز التالي رقم تعريف
"dialog_exit"
كمعرّف فريد لمربّع الحوار:Kotlin
showDialog
(R.id.dialog_exit)Java
showDialog
(R.id.dialog_exit);وفي التطبيق نفسه، تتم مقارنة رقم تعريف
"dialog_exit"
عند إنشاء مربّع حوار:Kotlin
override fun
onCreateDialog
(id: Int): Dialog? { return when(id) { R.id.dialog_exit -> { ... } else -> { null } } }Java
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
اسم الملف عشوائي. يتم استخدامname
للعنصر<integer>
كرقم تعريف المورد.- مرجع للموارد:
-
في لغة Java:
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>
يسترد رمز التطبيق التالي عددًا صحيحًا:
Kotlin
val maxSpeed: Int =
resources
.getInteger
(R.integer.max_speed)Java
Resources res =
getResources()
; int maxSpeed = res.getInteger
(R.integer.max_speed);
صفيفة عدد صحيح
مصفوفة من الأعداد الصحيحة المحددة في ملف XML.
ملاحظة: المصفوفة الصحيحة هي مورد بسيط تتم الإشارة إليه
باستخدام القيمة المقدَّمة في السمة name
، وليس اسم ملف XML. على هذا النحو، يمكنك دمج موارد مصفوفة بعدد صحيح مع موارد أخرى بسيطة في ملف XML واحد ضمن عنصر <resources>
واحد.
- موقع الملف:
res/values/filename.xml
اسم الملف عشوائي. يتم استخدامname
للعنصر<integer-array>
كرقم تعريف المورد.- نوع بيانات المورد المجمّع:
- مؤشر المورد إلى مصفوفة من الأعداد الصحيحة
- مرجع للموارد:
-
في لغة Java:
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>
يسترد رمز التطبيق التالي صفيف العدد الصحيح:
Kotlin
val bits: IntArray =
resources
.getIntArray
(R.array.bits)Java
Resources res =
getResources()
; int[] bits = res.getIntArray
(R.array.bits);
المصفوفة المكتوبة
تمثّل هذه السمة TypedArray
معرَّفة بتنسيق XML. يمكنك استخدام هذا لإنشاء
مجموعة من الموارد الأخرى، مثل الموارد القابلة للرسم. ليس من الضروري أن تكون الصفيفة متجانسة، لذا يمكنك إنشاء مصفوفة من أنواع الموارد المختلطة، ولكن
يجب الانتباه إلى نوع أنواع البيانات ومكانها في الصفيف حتى تتمكّن من الحصول على كل عنصر بشكل صحيح
باستخدام طرق get...()
للفئة TypedArray
.
ملاحظة: المصفوفة المكتوبة هي مورد بسيط تتم الإشارة إليه
باستخدام القيمة المقدَّمة في السمة name
، وليس اسم ملف XML. وبناءً على ذلك، يمكنك دمج موارد الصفيف المكتوبة مع موارد بسيطة أخرى في ملف XML واحد ضمن عنصر <resources>
واحد.
- موقع الملف:
res/values/filename.xml
اسم الملف عشوائي. يتم استخدامname
للعنصر<array>
كرقم تعريف المورد.- نوع بيانات المورد المجمّع:
- مؤشر المرجع على
TypedArray
- مرجع للموارد:
-
في لغة Java:
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>
يسترد رمز التطبيق التالي كل صفيف ثم يحصل على الإدخال الأول في كل صفيف:
Kotlin
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)Java
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);