সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
স্ন্যাকবার উপাদানটি একটি সংক্ষিপ্ত বিজ্ঞপ্তি হিসাবে কাজ করে যা স্ক্রিনের নীচে প্রদর্শিত হয়। এটি ব্যবহারকারীর অভিজ্ঞতাকে বাধা না দিয়ে একটি অপারেশন বা ক্রিয়া সম্পর্কে প্রতিক্রিয়া প্রদান করে। স্ন্যাকবার কয়েক সেকেন্ড পরে অদৃশ্য হয়ে যায়। ব্যবহারকারী একটি বোতাম আলতো চাপার মত একটি ক্রিয়া দিয়ে তাদের বরখাস্ত করতে পারেন৷
এই তিনটি ব্যবহারের ক্ষেত্রে বিবেচনা করুন যেখানে আপনি একটি স্ন্যাকবার ব্যবহার করতে পারেন:
অ্যাকশন নিশ্চিতকরণ: ব্যবহারকারী একটি ইমেল বা বার্তা মুছে ফেলার পরে, একটি স্ন্যাকবার ক্রিয়াটি নিশ্চিত করতে এবং একটি "আনডু" বিকল্পের প্রস্তাব দেয়।
নেটওয়ার্ক স্ট্যাটাস: অ্যাপটি যখন তার ইন্টারনেট সংযোগ হারিয়ে ফেলে, তখন একটি স্ন্যাকবার পপ আপ করে নোট করুন যে এটি এখন অফলাইন।
ডেটা জমা: সফলভাবে একটি ফর্ম জমা দেওয়া বা সেটিংস আপডেট করার পরে, একটি স্ন্যাকবার নোট করে যে পরিবর্তনটি সফলভাবে সংরক্ষিত হয়েছে।
চিত্র 1. স্ন্যাকবারের উদাহরণ।
মৌলিক উদাহরণ
একটি স্ন্যাকবার বাস্তবায়ন করতে, আপনি প্রথমে SnackbarHost তৈরি করুন, যার মধ্যে একটি SnackbarHostState সম্পত্তি রয়েছে। SnackbarHostStateshowSnackbar() ফাংশনে অ্যাক্সেস প্রদান করে যা আপনি আপনার স্ন্যাকবার প্রদর্শন করতে ব্যবহার করতে পারেন।
এই সাসপেন্ডিং ফাংশনের জন্য একটি CoroutineScope প্রয়োজন, যেমন rememberCoroutineScope ব্যবহার করে — এবং Scaffold মধ্যে একটি Snackbar দেখানোর জন্য UI ইভেন্টের প্রতিক্রিয়া হিসাবে কল করা যেতে পারে।
আপনি একটি ঐচ্ছিক পদক্ষেপ প্রদান করতে পারেন এবং Snackbar এর সময়কাল সামঞ্জস্য করতে পারেন। snackbarHostState.showSnackbar() ফাংশন অতিরিক্ত actionLabel এবং duration পরামিতি গ্রহণ করে এবং একটি SnackbarResult প্রদান করে।
valscope=rememberCoroutineScope()valsnackbarHostState=remember{SnackbarHostState()}Scaffold(snackbarHost={SnackbarHost(hostState=snackbarHostState)},floatingActionButton={ExtendedFloatingActionButton(text={Text("Show snackbar")},icon={Icon(Icons.Filled.Image,contentDescription="")},onClick={scope.launch{valresult=snackbarHostState.showSnackbar(message="Snackbar",actionLabel="Action",// Defaults to SnackbarDuration.Shortduration=SnackbarDuration.Indefinite)when(result){SnackbarResult.ActionPerformed->{/* Handle snackbar action performed */}SnackbarResult.Dismissed->{/* Handle snackbar dismissed */}}}})}){contentPadding->
// Screen content}
আপনি snackbarHost প্যারামিটার সহ একটি কাস্টম Snackbar প্রদান করতে পারেন। আরও তথ্যের জন্য SnackbarHost API রেফারেন্স ডক্স দেখুন।
মূল পয়েন্ট
actionLabel = "Action" : অ্যাকশন বোতামের পাঠ্য সেট করে।
withDismissAction = true : স্ন্যাকবারে একটি ক্রস প্রদান করে। স্ন্যাকবার খারিজ করতে এটি আলতো চাপুন।
duration = SnackbarDuration.Indefinite : ব্যবহারকারী বা প্রোগ্রাম এটি বাতিল না করা পর্যন্ত স্ন্যাকবার প্রদর্শিত রাখে।
SnackbarResult.ActionPerformed : বোঝায় যে ব্যবহারকারী স্ন্যাকবারের অ্যাকশন বোতামে ক্লিক করেছেন।
SnackbarResult.Dismissed : ইঙ্গিত করে যে ব্যবহারকারী অ্যাকশন বোতামে ক্লিক না করেই স্ন্যাকবার বাতিল করেছেন।
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2025-08-28 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-28 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],null,["The [snackbar component](https://m3.material.io/components/snackbar/overview) serves as a brief notification that appears at the\nbottom of the screen. It provides feedback about an operation or action without\ninterrupting the user experience. Snackbars disappear after a few seconds. The\nuser can also dismiss them with an action, such as tapping a button.\n\nConsider these three use cases where you might use a snackbar:\n\n- **Action Confirmation:** After a user deletes an email or message, a snackbar appears to confirm the action and offer an \"Undo\" option.\n- **Network Status:** When the app loses its internet connection, a snackbar pops up to note that it is now offline.\n- **Data Submission:** Upon successfully submitting a form or updating settings, a snackbar notes that the change has saved successfully.\n\n**Figure 1.** Snackbar examples.\n\nBasic example\n\nTo implement a snackbar, you first create [`SnackbarHost`](/reference/kotlin/androidx/compose/material3/package-summary#SnackbarHost(androidx.compose.material3.SnackbarHostState,androidx.compose.ui.Modifier,kotlin.Function1)), which includes a\n[`SnackbarHostState`](/reference/kotlin/androidx/compose/material3/SnackbarHostState) property. `SnackbarHostState` provides access to the\n[`showSnackbar()`](/reference/kotlin/androidx/compose/material3/SnackbarHostState#showsnackbar) function which you can use to display your snackbar.\n\nThis suspending function requires a `CoroutineScope` such as with using\n[`rememberCoroutineScope`](/reference/kotlin/androidx/compose/runtime/package-summary#remembercoroutinescope) --- and can be called in response to UI events to\nshow a [`Snackbar`](/reference/kotlin/androidx/compose/material3/package-summary#snackbar) within `Scaffold`.\n\n\n```kotlin\nval scope = rememberCoroutineScope()\nval snackbarHostState = remember { SnackbarHostState() }\nScaffold(\n snackbarHost = {\n SnackbarHost(hostState = snackbarHostState)\n },\n floatingActionButton = {\n ExtendedFloatingActionButton(\n text = { Text(\"Show snackbar\") },\n icon = { Icon(Icons.Filled.Image, contentDescription = \"\") },\n onClick = {\n scope.launch {\n snackbarHostState.showSnackbar(\"Snackbar\")\n }\n }\n )\n }\n) { contentPadding -\u003e\n // Screen content\n}https://github.com/android/snippets/blob/7a0ebbee11495f628cf9d574f6b6069c2867232a/compose/snippets/src/main/java/com/example/compose/snippets/layouts/MaterialLayoutSnippets.kt#L218-L240\n```\n\n\u003cbr /\u003e\n\nSnackbar with action\n\nYou can provide an optional action and adjust the duration of the `Snackbar`.\nThe `snackbarHostState.showSnackbar()` function accepts additional `actionLabel`\nand `duration` parameters, and returns a [`SnackbarResult`](/reference/kotlin/androidx/compose/material3/SnackbarResult).\n\n\n```kotlin\nval scope = rememberCoroutineScope()\nval snackbarHostState = remember { SnackbarHostState() }\nScaffold(\n snackbarHost = {\n SnackbarHost(hostState = snackbarHostState)\n },\n floatingActionButton = {\n ExtendedFloatingActionButton(\n text = { Text(\"Show snackbar\") },\n icon = { Icon(Icons.Filled.Image, contentDescription = \"\") },\n onClick = {\n scope.launch {\n val result = snackbarHostState\n .showSnackbar(\n message = \"Snackbar\",\n actionLabel = \"Action\",\n // Defaults to SnackbarDuration.Short\n duration = SnackbarDuration.Indefinite\n )\n when (result) {\n SnackbarResult.ActionPerformed -\u003e {\n /* Handle snackbar action performed */\n }\n SnackbarResult.Dismissed -\u003e {\n /* Handle snackbar dismissed */\n }\n }\n }\n }\n )\n }\n) { contentPadding -\u003e\n // Screen content\n}https://github.com/android/snippets/blob/7a0ebbee11495f628cf9d574f6b6069c2867232a/compose/snippets/src/main/java/com/example/compose/snippets/layouts/MaterialLayoutSnippets.kt#L247-L283\n```\n\n\u003cbr /\u003e\n\nYou can provide a custom `Snackbar` with the `snackbarHost` parameter. See the\n[`SnackbarHost` API reference docs](/reference/kotlin/androidx/compose/material/package-summary#snackbarhost) for more information.\n\nKey points\n\n- `actionLabel = \"Action\"`: Sets the action button text.\n- `withDismissAction = true`: Provides a cross in the snackbar. Tap it to dismiss the snackbar.\n- `duration = SnackbarDuration.Indefinite`: Keeps the snackbar displayed until the user or program dismisses it.\n- `SnackbarResult.ActionPerformed`: Signifies that the user clicked the snackbar's action button.\n- `SnackbarResult.Dismissed`: Signifies that the user dismissed the snackbar without clicking the action button."]]