تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
المكوّن Chip هو عنصر مضغوط وتفاعلي في واجهة المستخدم. وهي تمثّل عناصر معقّدة، مثل جهة اتصال أو علامة، وغالبًا ما تتضمّن رمزًا وتصنيفًا. ويمكن أن تكون قابلة للتحديد أو الإغلاق أو النقر.
في ما يلي أنواع الرقائق الأربعة والأماكن التي يمكنك استخدامها فيها:
المساعدة: توجّه المستخدم أثناء تنفيذ مهمة. يظهر غالبًا كعنصر مؤقت في واجهة المستخدم
استجابةً لإدخال المستخدم.
الفلترة: تتيح للمستخدمين تحسين المحتوى من مجموعة من الخيارات. ويمكن تحديدها أو إلغاء تحديدها، وقد تتضمّن رمز علامة اختيار عند تحديدها.
الإدخال: يمثّل المعلومات المقدَّمة من المستخدم، مثل الاختيارات في قائمة. ويمكن أن تحتوي على رمز ونص، وتوفّر X لإزالتها.
الاقتراح: يقدّم اقتراحات للمستخدم استنادًا إلى نشاطه أو إدخالاته الحديثة. تظهر عادةً أسفل حقل إدخال لحث المستخدم على اتّخاذ إجراءات.
الشكل 1. مكوّنات الشريحة الأربعة
مساحة واجهة برمجة التطبيقات
تتوفّر أربعة عناصر قابلة للإنشاء تتوافق مع الأنواع الأربعة من الشرائح. توضّح الأقسام التالية هذه العناصر القابلة للإنشاء واختلافاتها بالتفصيل.
ومع ذلك، تتشارك هذه الأحداث المَعلمات التالية:
label: السلسلة التي تظهر على الشريحة.
icon: الرمز المعروض في بداية الشريحة تحتوي بعض العناصر القابلة للإنشاء المحدّدة على مَعلمتَين منفصلتَين leadingIcon وtrailingIcon.
onClick: هي دالة lambda التي تستدعيها الشريحة عندما يضغط عليها المستخدم.
شريحة المساعدة
يوفر العنصر القابل للإنشاء AssistChip طريقة مباشرة لإنشاء شريحة مساعدة تحث المستخدم على اتّخاذ إجراء معيّن. إحدى الميزات المميّزة هي المَعلمة leadingIcon التي تتيح لك عرض رمز على الجانب الأيسر من الشريحة. يوضّح المثال التالي كيفية تنفيذ ذلك:
يتطلّب العنصر القابل للإنشاء FilterChip تتبُّع ما إذا تم اختيار الشريحة أم لا. يوضّح المثال التالي كيف يمكنك عرض رمز تم التحقّق منه في المقدّمة فقط عندما يختار المستخدم الشريحة:
يظهر عنصر التنفيذ هذا على النحو التالي عند إلغاء اختياره:
الشكل 3. شريحة فلتر غير محدّدة
ويظهر على النحو التالي عند اختياره:
الشكل 4. شريحة الفلتر المحدّدة
شريحة الإدخال
يمكنك استخدام العنصر القابل للإنشاء InputChip لإنشاء شرائح ناتجة عن تفاعل المستخدم. على سبيل المثال، في برنامج البريد الإلكتروني، عندما يكتب المستخدم رسالة إلكترونية، قد يمثّل شريحة الإدخال جهة اتصال أضافها المستخدم إلى حقل "إلى:".
يوضّح التنفيذ التالي شريحة إدخال في حالة محدّدة مسبقًا. يتجاهل المستخدم الشريحة عند الضغط عليها.
إنّ العنصر القابل للإنشاء SuggestionChip هو أبسط العناصر القابلة للإنشاء المدرَجة في هذه الصفحة، سواء من حيث تعريف واجهة برمجة التطبيقات أو حالات الاستخدام الشائعة. تقدّم شرائح الاقتراحات تلميحات يتم إنشاؤها ديناميكيًا. على سبيل المثال، في تطبيق محادثة يعمل بالذكاء الاصطناعي، يمكنك استخدام شرائح الاقتراحات لعرض الردود المحتملة على الرسالة الأخيرة.
تستخدِم جميع الأمثلة الواردة في هذا المستند العناصر القابلة للإنشاء الأساسية التي تتضمّن مظهرًا مسطّحًا. إذا كنت تريد شريحة ذات مظهر بارز، استخدِم أحد العناصر القابلة للإنشاء الثلاثة التالية:
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-08-30 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-30 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["The `Chip` component is a compact, interactive UI element. It represents complex\nentities like a contact or tag, often with an icon and label. It can be\ncheckable, dismissible, or clickable.\n\nThe four types of chips and where you might use them are as follows:\n\n- **Assist**: Guides the user during a task. Often appears as a temporary UI element in response to user input.\n- **Filter**: Allows users to refine content from a set of options. They can be selected or deselected, and may include a checkmark icon when selected.\n- **Input** : Represents user-provided information, such as selections in a menu. They can contain an icon and text, and provide an **X** for removal.\n- **Suggestion**: Provides recommendations to the user based on their recent activity or input. Typically appear beneath an input field to prompt user actions.\n\n**Figure 1.** The four chip components.\n\nAPI surface\n\nThere are four composables that correspond to the four types of chips. The\nfollowing sections outline these composables and their differences in detail.\nHowever, they share the following parameters:\n\n- **`label`**: The string that appears on the chip.\n- **`icon`** : The icon displayed at the start of the chip. Some of the specific composables have a separate `leadingIcon` and `trailingIcon` parameter.\n- **`onClick`**: The lambda that the chip calls when the user presses it.\n\nAssist chip\n\nThe [`AssistChip`](/reference/kotlin/androidx/compose/material3/package-summary#AssistChip(kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.material3.ChipBorder,androidx.compose.foundation.interaction.MutableInteractionSource)) composable provides a straightforward way to create an\nassist chip that nudges the user in a particular direction. One distinguishing\nfeature is its `leadingIcon` parameter that lets you display an icon on the left\nside of the chip. The following example demonstrates how you can implement it:\n\n\n```kotlin\n@Composable\nfun AssistChipExample() {\n AssistChip(\n onClick = { Log.d(\"Assist chip\", \"hello world\") },\n label = { Text(\"Assist chip\") },\n leadingIcon = {\n Icon(\n Icons.Filled.Settings,\n contentDescription = \"Localized description\",\n Modifier.size(AssistChipDefaults.IconSize)\n )\n }\n )\n}https://github.com/android/snippets/blob/f95ab59fad80aeaf5d6a90bab8a01a126f20f44e/compose/snippets/src/main/java/com/example/compose/snippets/components/Chip.kt#L72-L85\n```\n\n\u003cbr /\u003e\n\nThis implementation appears as follows.\n**Figure 2.** Assist chip.\n\nFilter chip\n\nThe [`FilterChip`](/reference/kotlin/androidx/compose/material3/package-summary#FilterChip(kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.SelectableChipColors,androidx.compose.material3.SelectableChipElevation,androidx.compose.material3.SelectableChipBorder,androidx.compose.foundation.interaction.MutableInteractionSource)) composable requires you to track whether or not the chip\nis selected. The following example demonstrates how you can show a leading\nchecked icon only when the user has selected the chip:\n\n\n```kotlin\n@Composable\nfun FilterChipExample() {\n var selected by remember { mutableStateOf(false) }\n\n FilterChip(\n onClick = { selected = !selected },\n label = {\n Text(\"Filter chip\")\n },\n selected = selected,\n leadingIcon = if (selected) {\n {\n Icon(\n imageVector = Icons.Filled.Done,\n contentDescription = \"Done icon\",\n modifier = Modifier.size(FilterChipDefaults.IconSize)\n )\n }\n } else {\n null\n },\n )\n}https://github.com/android/snippets/blob/f95ab59fad80aeaf5d6a90bab8a01a126f20f44e/compose/snippets/src/main/java/com/example/compose/snippets/components/Chip.kt#L90-L112\n```\n\n\u003cbr /\u003e\n\nThis implementation appears as follows when unselected:\n**Figure 3.** Unselected filter chip.\n\nAnd appears as follows when selected:\n**Figure 4.** Selected filter chip.\n\nInput chip\n\nYou can use the [`InputChip`](/reference/kotlin/androidx/compose/material3/package-summary#InputChip(kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.SelectableChipColors,androidx.compose.material3.SelectableChipElevation,androidx.compose.material3.SelectableChipBorder,androidx.compose.foundation.interaction.MutableInteractionSource)) composable to create chips that result from\nuser interaction. For example, in an email client, when the user is writing an\nemail, an input chip might represent a contact the user has added to the \"To:\"\nfield.\n\nThe following implementation demonstrates an input chip that is already in a\nselected state. The user dismisses the chip when they press it.\n| **Note:** Consider how you might use a chip like this in the preceding email use case, with a name passed in for the `label` parameter, and a function that performs the necessary network calls for `onDismiss`.\n\n\n```kotlin\n@Composable\nfun InputChipExample(\n text: String,\n onDismiss: () -\u003e Unit,\n) {\n var enabled by remember { mutableStateOf(true) }\n if (!enabled) return\n\n InputChip(\n onClick = {\n onDismiss()\n enabled = !enabled\n },\n label = { Text(text) },\n selected = enabled,\n avatar = {\n Icon(\n Icons.Filled.Person,\n contentDescription = \"Localized description\",\n Modifier.size(InputChipDefaults.AvatarSize)\n )\n },\n trailingIcon = {\n Icon(\n Icons.Default.Close,\n contentDescription = \"Localized description\",\n Modifier.size(InputChipDefaults.AvatarSize)\n )\n },\n )\n}https://github.com/android/snippets/blob/f95ab59fad80aeaf5d6a90bab8a01a126f20f44e/compose/snippets/src/main/java/com/example/compose/snippets/components/Chip.kt#L118-L148\n```\n\n\u003cbr /\u003e\n\nThis implementation appears as follows.\n**Figure 5.** Input chip.\n\nSuggestion chip\n\nThe [`SuggestionChip`](/reference/kotlin/androidx/compose/material3/package-summary#SuggestionChip(kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.material3.ChipBorder,androidx.compose.foundation.interaction.MutableInteractionSource)) composable is the most basic of the composables listed\non this page, both in its API definition and its common use cases. Suggestion\nchips present dynamically generated hints. For example, in an AI chat app, you\nmight use suggestion chips to present possible responses to the most recent\nmessage.\n\nConsider this implementation of `SuggestionChip`:\n\n\n```kotlin\n@Composable\nfun SuggestionChipExample() {\n SuggestionChip(\n onClick = { Log.d(\"Suggestion chip\", \"hello world\") },\n label = { Text(\"Suggestion chip\") }\n )\n}https://github.com/android/snippets/blob/f95ab59fad80aeaf5d6a90bab8a01a126f20f44e/compose/snippets/src/main/java/com/example/compose/snippets/components/Chip.kt#L153-L159\n```\n\n\u003cbr /\u003e\n\nThis implementation appears as follows:\n**Figure 6.** Suggestion chip. **Note:** Although the suggestion chip component is intended for informational purposes, it does still take an `onClick` lambda that you can use to create interactivity.\n\nElevated chip\n\nAll the examples in this document use the base composables that take a flat\nappearance. If you want a chip that has an elevated appearance, use one of the\nthree following composables:\n\n- [`ElevatedAssistChip`](/reference/kotlin/androidx/compose/material3/package-summary#ElevatedAssistChip(kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.material3.ChipBorder,androidx.compose.foundation.interaction.MutableInteractionSource))\n- [`ElevatedFilterChip`](/reference/kotlin/androidx/compose/material3/package-summary#ElevatedFilterChip(kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.SelectableChipColors,androidx.compose.material3.SelectableChipElevation,androidx.compose.material3.SelectableChipBorder,androidx.compose.foundation.interaction.MutableInteractionSource))\n- [`ElevatedSuggestionChip`](/reference/kotlin/androidx/compose/material3/package-summary#ElevatedSuggestionChip(kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.material3.ChipBorder,androidx.compose.foundation.interaction.MutableInteractionSource))\n\nAdditional resources\n\n- [Material UI docs](https://m3.material.io/components/chips/overview)"]]