مصادر المخططات

الإعلانات

مصادر المخططات

تقوم مصادر المخططات بتعريف، بنية واجهة المستخدم، في نشاطٍ ما أو مكونٍ ما، من مكونات واجهة المستخدم.

موقع الملف:

res/layout/filename.xml

يستخدم اسم الملف كمعرف للمصدر.

جمع أنواع بيانات المصادر:

يشير المصدر إلى، مصدر المعاينه (أو الفئة الفرعية).

الإشارة للمصدر:

في ملف الجافا: R.layout.filename
في ملف XML:
package:]layout/filename]@

بناء الجملة:

ملاحظة: العنصر الأساسي، يمكن أن يكون إما ViewGroup أو View أو عنصر <merge>، ولكن يجب أن يكون هناك عنصر أساسي واحد فقط، ويجب أن يحتوي على السمه xmlns:android مع نطاق الأندرويد، كما هو موضح.

العناصر:

عنصر <ViewGroup>

حاوية لعناصر المعاينة الأخرى. هناك العديد من الأنواع المختلفة، لكائنات ViewGroup وكل واحد منها، يسمح لك بتحديد مخطط العناصر الفرعيه بطرق مختلفة. الأنواع المختلفة من كائنات ViewGroup تتضمن LinearLayout, RelativeLayout، FrameLayout.

يجب ألا تفترض، أن أي فروع لـViewGroup ستقبل المعاينات الداخليه. بعض الـViewGroup عبارة عن تطبيقات لفئة AdapterView، والتي تحدد فروعها فقط من خلال Adapter.

السمات:

سمة android:id

معرف مصدر. هو اسم معرف فريد للعنصر، والذي يمكنك إستخدامه للحصول على مرجع لـViewGroup من تطبيقك. أنظر إلى المزيد حول قيم android:id أدناه:

سمة android:layout_height

بعد أو كلمة رئيسية. مطلوبه. تحدد إرتفاع المجموعه، كقيمة بعد أو (مصدر بعد) أو كلمة رئيسية (“match_parent” أو “wrap_content“). انظر القيم الصحيحه أدناه.

سمة android:layout_width

بعد أو كلمة رئيسية. مطلوبه. تحدد عرض المجموعه، كقيمة بعد أو (مصدر بعد) أو كلمة رئيسية (“match_parent” أو “wrap_content“). انظر القيم الصحيحه أدناه.

يتم دعم المزيد من السمات، بواسطة الفئة الأساسية في ViewGroup ، ويتم دعم العديد من السمات الأخرى، بواسطة كل تطبيق من تطبيقات ViewGroup.

للحصول على مراجع لجميع السمات المتاحة، انظر مستندات المراجع المتماثله لفئة ViewGroup (مثال، سمات ملف XML LinearLayout).

 

العنصر <View>

مكون فردي لواجهة المستخدم، يشار إليه عموماً بأسم “عنصر التحكم widget”. أنواع مختلفة من كائنات المعاينه تشمل TextView, Button, CheckBox.

السمات:

سمة android:id

معرف مصدر. هو اسم معرف فريد للعنصر، والذي يمكنك إستخدامه للحصول على مرجع لـView من تطبيقك. أنظر إلى المزيد حول قيم android:id أدناه:

سمة android:layout_height

بعد أو كلمة رئيسية. مطلوبه. تحدد إرتفاع العنصر، كقيمة بعد أو (مصدر بعد)، أو كلمة رئيسية (“match_parent” أو “wrap_content“). انظر القيم الصحيحه أدناه.

سمة android:layout_width

بعد أو كلمة رئيسية. مطلوبه. تحدد عرض العنصر، كقيمة بعد أو (مصدر بعد) أو كلمة رئيسية (“match_parent” أو “wrap_content“). انظر القيم الصحيحه أدناه.

يتم دعم المزيد من السمات، بواسطة الفئة الأساسية للمعاينه، ويتم دعم العديد من السمات الأخرى بواسطة كل تطبيق من المعاينه.

لمزيد من المعلومات اقرأ المخططات. للحصول على مرجع لجميع السمات المتاحه، راجع مستندات المراجع المتماثلة (مثال، سمات ملف XML TextView).

 

العنصر <requestFocus>

أي عنصر يتضمن كائن معاينه، يمكن أن يحتوي على هذا العنصر الفارغ، الذي يعطي أصله تركيز أولي على الشاشة. يمكنك الحصول على عنصر واحد فقط من هذه العناصر لكل ملف.

العنصر <include>

يتضمين ملف مخطط في هذا المخطط.

السمات:

سمة layout
مصدر مخطط. مطلوبه. تشير إلى مصدر مخطط.

سمة android:id

معرف مصدر. تتجاوز المعرف المعطى للمعاينه الأصليه في المخطط المضمن.

سمة android:layout_height

بعد أو كلمة رئيسية. تتجاوز الإرتفاع المعطى للمعاينه الأصليه في المخطط المضمن. فعالة فقط في حالة كان android:layout_width معلن أيضاً.

سمة android:layout_width

بعد أو كلمة رئيسية. تتجاوز العرض المعطى للمعاينه الأصليه في المخطط المضمن. فعالة فقط في حالة كان android:layout_height معلن أيضاً.

يمكنك تضمين أي سمات مخطط أخرى في عنصر <include> المدعوم بواسطة العنصر الأساسي في المخطط المضمن و ستتجاوز السمات المحددة في العنصر الأساسي.

 

تحذير: إذا كنت تريد تجاوز سمات المخطط بإستخدام الوسم <include>، يجب أن تتجاوز كلٍ من android:layout_height و android:layout_width من أجل أن تصبح سمات المخطط الأخرى فعاله.

 

طريقة أخرى لتضمين مخطط هي بإستخدام ViewStub. وهو عبارة عن معاينه خفيفه لا تستهلك مساحة من المخطط حتى تقوم أنت بتضخيمها بشكلٍ صريح.

عند هذه النقطه، فإنه يتضمن ملف مخطط محدد بواسطة سمة android:layout الخاصة به. لمزيد من المعلومات حول إستخدام ViewStub، اقرأ تحميل المعاينات عند الطلب.

 

 

 

مصادر المخططات

العنصر <merge>

عنصر أساسي بديل لا يتم رسمه في التسلسل الهرمي للمخطط. إستخدامه كالعنصر الأساسي مفيداً عندما تعلم بأن هذا المخطط سوف يوضع في مخطط يحتوي بالفعل على معاينه الأصل المناسبة لإحتواء فروع العنصر <merge>.

يعد هذا مفيداً بشكلٍ خاص عندما تخطط لتضمين هذا المخطط في ملف مخطط آخر بإستخدام <include> و هذا المخطط لا يتطلب حاوية ViewGroup مختلفة. لمزيد من المعلومات عن دمج المخططات، اقرأ إعادة إستخدام المخططات بإستخدام </include>.

قيمة لـ android:id

 لقيمة المعرف، يجب أن تستخدم البنية التاليه: "@+id/name". يوضح رمز “+” إلى أن هذا معرف مصدر جديد وأن أداة aapt سوف تقوم بإنشاء مصدر عدد صحيح جديد في فئة R.java، إذا لم تكن موجودة بالفعل. مثال:

<TextView android:id="@+id/nameTextbox"/>

 

الأسم nameTextbox هو الآن معرف مصدر مرتبط بهذا العنصر. ومن ثم يمكنك الإشارة إلى TextView الذي يرتبط به المعرف في ملف الجافا:

 

KOTLIN

val textView: TextView? = findViewById(R.id.nameTextbox)

JAVA

TextView textView = findViewById(R.id.nameTextbox);

 

هذا الكود يقوم بإرجاع الكائن TextView.

 

مع ذلك، إذا قمت بالفعل بتعريف معرف مصدر (ولم يتم إستخدامه بالفعل)، يمكنك عندها تطبيق ذلك المعرف إلى عنصر المعاينه View بحذف رمز “+” في قيمة android:id.

قيمة الـandroid:layout_height و android:layout_width:

قيم الإرتفاع والعرض يمكن التعبير عنها بإستخدام أي من وحدات البعد المدعومة بواسطة الأندرويد (px, dp, sp, pt, in, mm) أو بإستخدام الكلمات الرئيسية التاليه:

القيمه الوصف
match_parent مطابقة الأصل تقوم بتعيين البعد لمطابقتة بالعنصر الأصل.

تمت إضافتها في المستوى API 8 لإلغاء fill_parent.

wrap_content إلتفاف المحتوى  تقوم بتعيين البعد فقط على الحجم المطلوب، لملائمة محتوى هذا العنصر.

 

 

مصادر المخططات

 

عناصر العرض “المعاينه” المخصصه

يمكنك إنشاء عناصر “عرض” و “مجموعة عرض” مخصصه وتطبيقهما على مخططك بنفس عنصر المخطط القياسي. يمكنك أيضاً تحديد السمات المدعومة في عنصر 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:

KOTLIN

public override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.main_activity)
}

JAVA 

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_activity);
}

 

 

راجع أيضاً:

  • المخططات
  • المعاينه
  • مجموعة المعاينه

 

 


للإطلاع على المقال باللغة الإنجليزية أضغط هنا.

الإعلانات