مقدمة عن الرسم في ميزة "الإنشاء"
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تعرَّف على كيفية رسم عنصر مخصّص في ميزة "الإنشاء". باستخدام الرسم المخصّص، يمكنك
تحسين مظهر تطبيقك ومضمونه عندما لا توفّر المكوّنات المضمّنة
العناصر التي يحتاجها تطبيقك بالضبط.
النقاط الرئيسية
DrawScope
هي واجهة برمجة تطبيقات للرسم تعريفية لا تعتمد على الحالة لرسم الأشكال
والمسارات وغير ذلك بدون الحاجة إلى الحفاظ على حالة المكوّن
يدويًا.
- تتيح لك عدّة عناصر تعديل للرسم الوصول إلى
DrawScope
، ما يتيح لك الرسم
باستخدام عناصر قابلة للتجميع أخرى:
-
drawBehind
: يتم الرسم خلف محتوى العناصر القابلة للتجميع.
drawWithContent
: مفيدة لإعادة ترتيب المحتوى. يمكنك اختيار
وقت استدعاء محتوى العنصر القابل للتجميع، إما قبله أو بعده.
-
drawWithCache
: تخزين العناصر مؤقتًا في ذاكرة التخزين المؤقت إلى أن يتغيّر الحجم أو يتم قراءة متغيّرات الحالة داخل التغيير
- نظام التنسيق في Compose هو نفسه نظام العرض.
- يتم تنفيذ جميع طلبات الرسم والتنسيق بقيم البكسل، وليس
dp
. لرسم الأشكال بشكلٍ متسق على جميع الشاشات، استخدِم dp
واحوِل الأشكال إلى وحدات بكسل قبل البدء بالرسم.
- تكون طلبات الرسم دائمًا نسبية إلى العنصر القابل للتجميع الرئيسي.
المجموعات التي تتضمّن هذا الدليل
هذا الدليل هو جزء من مجموعات الأدلة السريعة المنظَّمة التي تتناول
أهداف تطوير Android الأوسع نطاقًا:
عرض الصور
تعرَّف على أساليب استخدام مرئيات مشرقة وجذابة لمنح تطبيق 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,["# Intro to drawing in Compose\n\n\u003cbr /\u003e\n\nLearn how to draw something custom in Compose. With custom drawing, you can\nimprove the look and feel of your app when the built-in components don't cover\nexactly what your app needs. \n\nKey points\n----------\n\n- [`DrawScope`](/reference/kotlin/androidx/compose/ui/graphics/drawscope/DrawScope) is a declarative, stateless drawing API to draw shapes, paths, and more without needing to maintain the state of the component manually.\n- Several drawing modifiers give you access to `DrawScope`, letting you draw with other composables:\n - [`drawBehind`](/reference/kotlin/androidx/compose/ui/draw/package-summary#(androidx.compose.ui.Modifier).drawBehind(kotlin.Function1)): draws behind the composables content.\n - [`drawWithContent`](/reference/kotlin/androidx/compose/ui/draw/package-summary#(androidx.compose.ui.Modifier).drawWithContent(kotlin.Function1)): useful for rearranging content. You can choose when to call the content of the composable, either before or after.\n - [`drawWithCache`](/reference/kotlin/androidx/compose/ui/draw/package-summary#(androidx.compose.ui.Modifier).drawWithCache(kotlin.Function1)): caches the objects until the size changes or the state variables read inside change.\n- The coordinate system in Compose is the same as the view system.\n- All draw and layout calls are performed in pixel values, not [`dp`](/reference/kotlin/androidx/compose/ui/unit/package-summary#(kotlin.Int).dp()). To draw consistently across screens, use `dp` and convert to pixels before drawing.\n- Draw calls are always relative to the parent composable.\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 images\n\nDiscover techniques for using bright, engaging visuals to give your Android app a beautiful look and feel. \n[Quick guide collection](/develop/ui/compose/quick-guides/collections/display-images) \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)"]]