תחילת העבודה עם Jetpack Compose
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
Jetpack Compose היא ערכת הכלים המודרנית לבניית ממשק משתמש נייטיב ל-Android. כאן אפשר למצוא את המידע העדכני על השימוש בכלי הכתיבה.
- סקירה כללית: כאן מפורטים כל המשאבים שזמינים למפתחי Compose.
- מדריך: איך מתחילים לעבוד עם Compose, באמצעות שימוש בו ליצירת ממשק משתמש פשוט.
- מדריכים מקוצרים: חדש! כדאי לנסות את המדריכים המהירים והממוקדים שלנו, שנועדו לעזור לכם להשיג את המטרה שלכם כמה שיותר מהר.
קרן
- חשיבה ב-Compose: הסבר על ההבדלים בין הגישה הדקלרטיבית של Compose לבין הגישה מבוססת התצוגה שאולי השתמשתם בה בעבר, ואיך לבנות מודל מנטלי לעבודה עם Compose.
- ניהול מצב: מידע על הגדרה ושימוש במצב באפליקציית Compose.
- מחזור החיים של פונקציות Composable: מידע על מחזור החיים של פונקציות Composable ואיך Compose מחליט אם צריך לצייר אותן מחדש.
- אמצעי שינוי: כאן מוסבר איך להשתמש באמצעי שינוי כדי להוסיף או לשפר את רכיבי ה-Composable.
- תופעות לוואי ב-Compose: כאן מוסבר איך הכי טוב לנהל תופעות לוואי.
- שלבים ב-Jetpack Compose: מידע על השלבים ש-Compose עובר כדי לעבד את ממשק המשתמש, ואיך להשתמש במידע הזה כדי לכתוב קוד יעיל
- שכבות ארכיטקטוניות: מידע על השכבות הארכיטקטוניות שמרכיבות את Jetpack Compose, ועקרונות הליבה שהנחו את העיצוב שלו.
- ביצועים: איך להימנע מטעויות נפוצות בתכנות שעלולות לפגוע בביצועים של האפליקציה.
- סמנטיקה ב-Compose: מידע על עץ הסמנטיקה, שמארגן את ממשק המשתמש באופן שמאפשר לשירותי נגישות ולמסגרת הבדיקה להשתמש בו.
- נתונים בהיקף מקומי עם CompositionLocal: במאמר הזה מוסבר איך להשתמש ב-
CompositionLocal
כדי להעביר נתונים דרך הקומפוזיציה.
סביבת פיתוח
עיצוב
- פריסות: מידע על רכיבי הפריסה המובנים של Compose ועל עיצוב פריסה משלכם.
- העקרונות הבסיסיים של פריסה: מידע על אבני הבניין ליצירת ממשק משתמש פשוט לאפליקציה.
- רכיבי Material ופריסות: מידע על רכיבי Material ופריסות ב-Compose.
- פריסות בהתאמה אישית: איך שולטים בפריסה של האפליקציה ואיך מעצבים פריסה מותאמת אישית משלכם.
- תמיכה בגדלים שונים של מסכים: במאמר הזה מוסבר איך להשתמש ב-Compose כדי ליצור פריסות שמותאמות לגדלים שונים של מסכים, לכיוונים שונים ולגורמי צורה שונים.
- קווי יישור: מידע על יצירת קווי יישור מותאמים אישית כדי ליישר ולמקם במדויק את רכיבי ממשק המשתמש.
- מדידות פנימיות: מכיוון ש-Compose מאפשרת למדוד רכיבי ממשק משתמש רק פעם אחת בכל מעבר, בדף הזה מוסבר איך לשלוח שאילתה כדי לקבל מידע על רכיבי צאצא לפני שמודדים אותם.
- ConstraintLayout: מידע על שימוש ב-
ConstraintLayout
בממשק המשתמש של Compose.
- מערכות עיצוב: איך מטמיעים מערכת עיצוב ומעניקים לאפליקציה מראה ותחושה עקביים.
- רשימות ורשתות: מידע על חלק מהאפשרויות של Compose לניהול ולהצגה של רשימות ורשתות של נתונים.
- טקסט: מידע על האפשרויות העיקריות של כלי הכתיבה להצגה ולעריכה של טקסט.
- גרפיקה: מידע על התכונות של Compose ליצירה ולעבודה עם גרפיקה בהתאמה אישית.
- אנימציה: מידע על האפשרויות השונות של Compose להנפשת רכיבי ממשק המשתמש.
- תנועות: איך לבנות ממשק משתמש של Compose שמזהה תנועות של משתמשים ומגיב להן.
- טיפול באינטראקציות של משתמשים: במאמר הזה מוסבר איך Compose מבצעת הפשטה של קלט ברמה נמוכה לאינטראקציות ברמה גבוהה יותר, כדי שתוכלו להתאים אישית את האופן שבו הרכיבים מגיבים לפעולות של משתמשים.
התחלת השימוש ב-Compose
- העברת אפליקציות קיימות שמבוססות על View: כאן מוסבר איך להעביר אפליקציה קיימת שמבוססת על View ל-Compose.
- אסטרטגיית העברה: כאן מוסבר על האסטרטגיה להוספה בטוחה והדרגתית של Compose לבסיס הקוד.
- APIs של יכולת פעולה הדדית: מידע על ממשקי ה-API של Compose שיעזרו לכם לשלב את Compose עם ממשק משתמש מבוסס-View.
- שיקולים נוספים: מידע על שיקולים נוספים כמו עיצוב, ארכיטקטורה ובדיקות במהלך העברת אפליקציה מבוססת View ל-Compose.
- Compose וספריות אחרות: מידע על שימוש בספריות מבוססות-תצוגה בתוכן של Compose.
- ארכיטקטורת Compose: מידע על הטמעה של תבנית זרימה חד-כיוונית ב-Compose, הטמעה של אירועים ומחזיקי מצב ושימוש ב-
ViewModel
ב-Compose.
- ניווט: במאמר הזה מוסבר איך להשתמש ב-
NavController
כדי לשלב את רכיב הניווט בממשק המשתמש של Compose.
- משאבים: כאן מוסבר איך לעבוד עם המשאבים של האפליקציה בקוד Compose.
- נגישות: איך מתאימים את ממשק המשתמש של כלי ההלחנה למשתמשים עם דרישות נגישות שונות.
- בדיקה: מידע על בדיקת קוד Compose.
מקורות מידע נוספים
מומלץ עבורך
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-08-21 (שעון UTC).
[[["התוכן קל להבנה","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-08-21 (שעון UTC)."],[],[],null,["Jetpack Compose is the modern toolkit for building native Android UI. Here's\nwhere you'll find the latest information about using Compose.\n\n- [Overview](/develop/ui/compose): See all the resources available to Compose developers.\n- [Tutorial](/develop/ui/compose/tutorial): Get started with Compose, by using it to build a simple UI.\n- [Quick Guides](/quick-guides): **New!** Try out our fast and focused guides, designed to get you to your goal as quickly as possible.\n\nFoundation\n\n- [Thinking in Compose](/develop/ui/compose/mental-model): Learn how Compose's declarative approach is different from the view-based approach you may have used in the past, and how to build a mental model of working with Compose.\n- [Managing state](/develop/ui/compose/state): Learn about setting and using state in your Compose app.\n- [Lifecycle of composables](/develop/ui/compose/lifecycle): Learn about the lifecycle of a composable, and how Compose decides if it needs to be redrawn.\n- [Modifiers](/develop/ui/compose/modifiers): Learn how to use modifiers to augment or decorate your composables.\n- [Side-effects in Compose](/develop/ui/compose/side-effects): Learn the best ways to manage side-effects.\n- [Jetpack Compose Phases](/develop/ui/compose/phases): Learn about the steps Compose goes through to render your UI, and how to use that information to write efficient code\n- [Architectural layering](/develop/ui/compose/layering): Learn about the architectural layers that make up Jetpack Compose, and the core principles that informed its design.\n- [Performance](/develop/ui/compose/performance): Learn how to avoid the common programming pitfalls that can hurt your app's performance.\n- [Semantics in Compose](/develop/ui/compose/semantics): Learn about the Semantics tree, which organizes your UI in a way that can be used by accessibility services and the testing framework.\n- [Locally scoped data with CompositionLocal](/develop/ui/compose/compositionlocal): Learn how to use `CompositionLocal` to pass data through the Composition.\n\nDevelopment environment\n\n- [Android Studio with Compose](/develop/ui/compose/setup): Set up your development environment to use Compose.\n- [Tooling for Compose](/develop/ui/compose/tooling): Learn about Android Studio's new features to support Compose.\n- [Kotlin for Compose](/develop/ui/compose/kotlin): Learn how certain Kotlin-specific idioms work with Compose.\n- [Compare Compose and View metrics](/develop/ui/compose/migrate/compare-metrics): Learn how migrating to Compose can affect your app's APK size and runtime performance.\n- [Bill of Materials](/develop/ui/compose/bom): Manage all your Compose dependencies by specifying only the BOM's version.\n\nDesign\n\n- [Layouts](/develop/ui/compose/layouts): Learn about Compose's native layout components, and how to design your own.\n - [Layout basics](/develop/ui/compose/layouts/basics): Learn about the building blocks for a straightforward app UI.\n - [Material Components and layouts](/develop/ui/compose/components): Learn about Material components and layouts in Compose.\n - [Custom layouts](/develop/ui/compose/layouts/custom): Learn how to take control of your app's layout, and how to design a custom layout of your own.\n - [Support different display sizes](/develop/ui/compose/layouts/adaptive/support-different-display-sizes): Learn how to use Compose to build layouts that adapt to different display sizes, orientations, and form factors.\n - [Alignment lines](/develop/ui/compose/layouts/alignment-lines): Learn how to create custom alignment lines to precisely align and position your UI elements.\n - [Intrinsic measurements](/develop/ui/compose/layouts/intrinsic-measurements): Since Compose only allows you to measure UI elements once per pass, this page explains how to query for information about child elements before measuring them.\n - [ConstraintLayout](/develop/ui/compose/layouts/constraintlayout): Learn how to use `ConstraintLayout` in your Compose UI.\n- [Design Systems](/develop/ui/compose/designsystems): Learn how to implement a design system and give your app a consistent look and feel.\n - [Material Design 3](/develop/ui/compose/designsystems/material3): Learn how to implement Material You with Compose's implementation of [Material Design 3](https://m3.material.io/).\n - [Migrating from Material 2 to Material 3](/develop/ui/compose/designsystems/material2-material3): Learn how to migrate your app from Material Design 2 to Material Design 3 in Compose.\n - [Material Design 2](/develop/ui/compose/designsystems/material): Learn how to customize Compose's implementation of [Material Design 2](https://material.io/) to fit your product's brand.\n - [Custom design systems](/develop/ui/compose/designsystems/custom): Learn how to implement a custom design system in Compose, and how to adapt existing Material Design composables to handle this.\n - [Anatomy of a theme](/develop/ui/compose/designsystems/anatomy): Learn about the lower-level constructs and APIs used by `MaterialTheme` and custom design systems.\n- [Lists and grids](/develop/ui/compose/lists): Learn about some of Compose's options for managing and displaying lists and grids of data.\n- [Text](/develop/ui/compose/text): Learn about Compose's main options for displaying and editing text.\n- [Graphics](/develop/ui/compose/graphics): Learn about Compose's features for building and working with custom graphics.\n- [Animation](/develop/ui/compose/animation/introduction): Learn about Compose's different options for animating your UI elements.\n- [Gestures](/develop/ui/compose/touch-input/pointer-input): Learn how to build a Compose UI that detects and interacts with user gestures.\n- [Handling user interactions](/develop/ui/compose/touch-input/user-interactions/handling-interactions): Learn how Compose abstracts low-level input into higher-level interactions, so you can customize how your components respond to user actions.\n\nAdopting Compose\n\n- [Migrate existing View-based apps](/develop/ui/compose/migrate): Learn how to migrate your existing View-based app to Compose.\n - [Migration strategy](/develop/ui/compose/migrate/strategy): Learn the strategy to safely and incrementally introduce Compose into your codebase.\n - [Interoperability APIs](/develop/ui/compose/migrate/interoperability-apis): Learn about Compose's APIs to help you combine Compose with View-based UI.\n - [Other considerations](/develop/ui/compose/migrate/other-considerations): Learn about other considerations like theming, architecture, and testing while migrating your View-based app to Compose.\n- [Compose and other libraries](/develop/ui/compose/libraries): Learn how to use view-based libraries in your Compose content.\n- [Compose architecture](/develop/ui/compose/architecture): Learn how to implement the unidirectional flow pattern in Compose, how to implement events and state holders, and how to work with `ViewModel` in Compose.\n- [Navigation](/develop/ui/compose/navigation): Learn how to use `NavController` to integrate the Navigation component with your Compose UI.\n - [Navigation for responsive UIs](/guide/topics/large-screens/navigation-for-responsive-uis): Learn how to design your app's navigation so it adapts to different screen sizes, orientations, and form factors.\n- [Resources](/develop/ui/compose/resources): Learn how to work with your app's resources in your Compose code.\n- [Accessibility](/develop/ui/compose/accessibility): Learn how to make your Compose UI suitable for users with different accessibility requirements.\n- [Testing](/develop/ui/compose/testing): Learn about testing your Compose code.\n - [Testing cheat sheet](/develop/ui/compose/testing-cheatsheet): A quick reference of useful Compose testing APIs.\n\nAdditional resources\n\n- [Get setup](/develop/ui/compose/setup)\n- [Curated learning pathway](/courses/pathways/compose)\n- [Compose API guidelines](https://android.googlesource.com/platform/frameworks/support/+/androidx-main/compose/docs/compose-api-guidelines.md)\n- [API reference](/reference/kotlin/androidx/compose)\n- [Codelabs](https://goo.gle/compose-codelabs)\n- [Sample apps](https://github.com/android/compose-samples)\n- [Videos](https://www.youtube.com/user/androiddevelopers/search?query=%23jetpackcompose)\n\nRecommended for you\n\n- Note: link text is displayed when JavaScript is off\n- [Locally scoped data with CompositionLocal](/develop/ui/compose/compositionlocal)\n- [Other considerations](/develop/ui/compose/migrate/other-considerations)\n- [Anatomy of a theme in Compose](/develop/ui/compose/designsystems/anatomy)"]]