التنسيقات المتقدّمة في ميزة "الإنشاء"
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تعرَّف على كيفية إنشاء تصميمات معقّدة لتنسيقات Compose، مع التركيز على مرحلة
التخطيط والقيود وتنسيقات العناصر الفرعية وعمليات القياس الأساسية.
النقاط الرئيسية
- مرحلة التنسيق هي مرحلة "الإنشاء" التي يتم فيها تحديد حجم العناصر
ووضعها.
- خلال مرحلة التنسيق، يقيس كل عنصر في شجرة واجهة المستخدم عناصره الفرعية،
ما يتيح للوالد تحديد حجم العنصر ووضع العناصر الفرعية في
المساحة المتاحة ثنائية الأبعاد.
- لإنشاء تنسيق مخصّص، استخدِم العنصر القابل للتجميع
Layout
الذي يقبل المحتوى القابل للتجميع كعناصر فرعية.
- تتيح التركيب الفرعي للمكوّنات غير المُحمَّلة إضافة محتوى عند الطلب أثناء التمرير.
- يمكن أن يكون للتصاميم الفرعية المُركّبة تأثير في الأداء. استخدِم هذا
الأسلوب عندما تعتمد تركيبة طفل واحد على الأقل على نتيجة
قياس طفل آخر.
- تتيح لك القياسات الأساسية الاستعلام عن الأطفال قبل قياسهم.
المجموعات التي تتضمّن هذا الدليل
هذا الدليل هو جزء من مجموعات الأدلة السريعة المنظَّمة التي تتناول
أهداف تطوير Android الأوسع نطاقًا:
عرض قائمة أو شبكة
تسمح القوائم والشبكات لتطبيقك بعرض المجموعات في شكلٍ
ممتع من الناحية المرئية ويسهل على المستخدمين الاطّلاع عليه.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-02-06 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-02-06 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Advanced layouts in Compose\n\n\u003cbr /\u003e\n\nSee how to build complex designs for your Compose layouts, focusing on layout\nphase and constraints, subcompose layouts, and intrinsic measurements. \n\nKey points\n----------\n\n- The *layout phase* is the phase of Compose where element sizing and positioning is defined.\n- During the layout phase, each element in the UI tree measures its children, enabling the parent to decide its own size and placing the children in the available 2D space.\n- To build a custom layout, call the [`Layout`](/reference/kotlin/androidx/compose/ui/layout/package-summary#Layout(kotlin.collections.List,androidx.compose.ui.Modifier,androidx.compose.ui.layout.MultiContentMeasurePolicy)) composable, which accepts the composable content as its children.\n- Subcomposition enables lazy components to add content on demand while scrolling.\n- Subcomposed layouts can have an impact on performance. Use this approach when at least one child's composition depends on the result of another child's measurement.\n- Intrinsic measurements let you query children before they're measured.\n\nCollections that contain this guide\n-----------------------------------\n\nThis guide is part of these curated Quick Guide collections that cover\nbroader Android development goals: \n\n### Display a list or grid\n\nLists and grids allow your app to display collections in a visually pleasing form that's easy for users to consume. \n[Quick guide collection](/develop/ui/compose/quick-guides/collections/display-a-list-or-grid) \n\nHave questions or feedback\n--------------------------\n\nGo to our frequently asked questions page and learn about quick guides or reach out and let us know your thoughts. \n[Go to FAQ](/quick-guides/faq) [Leave feedback](https://issuetracker.google.com/issues/new?component=1573691&template=1993320)"]]