Bird
Raised Fist0
Fluttermobile~5 mins

Dismissible for swipe actions in Flutter - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of the Dismissible widget in Flutter?
The Dismissible widget allows users to swipe a widget (usually a list item) to dismiss it, triggering an action like deleting or archiving.
Click to reveal answer
beginner
Which property of Dismissible uniquely identifies the widget?
The key property is required and must be unique to identify the Dismissible widget in the widget tree.
Click to reveal answer
beginner
How do you detect when a Dismissible widget has been swiped away?
Use the onDismissed callback, which is called when the widget is swiped and dismissed. It provides the swipe direction.
Click to reveal answer
intermediate
What is the role of the background property in Dismissible?
The background property defines a widget shown behind the child when swiping, often used to show a delete icon or color to indicate the swipe action.
Click to reveal answer
intermediate
Can you customize swipe directions in Dismissible? How?
Yes, by setting the direction property to values like DismissDirection.startToEnd or DismissDirection.horizontal to control allowed swipe directions.
Click to reveal answer
What must you always provide to a Dismissible widget?
AA unique key
BAn onTap callback
CA background color
DAn icon
Which callback is triggered when a Dismissible widget is swiped away?
AonDismissed
BonTap
ConSwipe
DonDragEnd
What does the background property in Dismissible do?
AHandles the swipe animation
BSets the widget's background color permanently
CDefines the swipe direction
DShows a widget behind the child when swiping
How can you restrict swipe to only left-to-right in Dismissible?
AUse <code>onSwipeLeft</code> callback
BSet <code>direction</code> to <code>DismissDirection.startToEnd</code>
CSet <code>direction</code> to <code>DismissDirection.endToStart</code>
DUse <code>swipeDirection</code> property
What happens if you do not provide a unique key to a Dismissible widget?
AThe app crashes immediately
BThe widget will be dismissed twice
CFlutter throws an error at runtime
DThe widget cannot be swiped
Explain how to implement a swipe-to-delete list item using the Dismissible widget in Flutter.
Think about what each property does and how they work together to detect and respond to swipe.
You got /5 concepts.
    Describe the user experience improvements that the background property adds to swipe actions.
    Consider what the user sees behind the item as they swipe.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of the Dismissible widget in Flutter?
      easy
      A. To display images in a grid layout
      B. To create a button that triggers an alert
      C. To allow users to swipe and remove items from a list
      D. To animate text color changes

      Solution

      1. Step 1: Understand the widget's function

        The Dismissible widget is designed to let users swipe list items to remove them.
      2. Step 2: Compare options with the widget's purpose

        Only To allow users to swipe and remove items from a list describes swiping to remove items, which matches Dismissible's role.
      3. Final Answer:

        To allow users to swipe and remove items from a list -> Option C
      4. Quick Check:

        Dismissible = swipe to remove [OK]
      Hint: Dismissible = swipe to delete list items [OK]
      Common Mistakes:
      • Confusing Dismissible with buttons or animations
      • Thinking it manages image layouts
      • Assuming it changes text colors
      2. Which of the following is the correct way to assign a unique key to a Dismissible widget?
      easy
      A. key: Key('item_1')
      B. key: UniqueKey()
      C. key: ValueKey(1)
      D. All of the above

      Solution

      1. Step 1: Review key types for Dismissible

        Flutter requires a unique key for each Dismissible. Key, UniqueKey(), and ValueKey() are all valid ways to create unique keys.
      2. Step 2: Confirm all options are valid

        Each option shows a valid key assignment method, so all are correct.
      3. Final Answer:

        All of the above -> Option D
      4. Quick Check:

        Any unique key type works [OK]
      Hint: Any unique Key subclass works for Dismissible keys [OK]
      Common Mistakes:
      • Using non-unique keys like constant strings for all items
      • Omitting the key parameter
      • Using keys that are not unique per item
      3. Given this code snippet, what happens when the user swipes the list item?
      Dismissible(
        key: Key('item1'),
        onDismissed: (direction) {
          items.removeAt(0);
        },
        child: ListTile(title: Text('Item 1')),
      )
      medium
      A. The first item is removed from the list
      B. Nothing happens because the key is wrong
      C. The app crashes due to missing setState
      D. The item is duplicated instead of removed

      Solution

      1. Step 1: Understand onDismissed callback

        The onDismissed callback removes the first item from the items list when swiped.
      2. Step 2: Analyze the effect of removing item at index 0

        Removing at index 0 deletes the first item, so the list updates accordingly.
      3. Final Answer:

        The first item is removed from the list -> Option A
      4. Quick Check:

        onDismissed removes item at index 0 [OK]
      Hint: onDismissed callback removes the swiped item [OK]
      Common Mistakes:
      • Assuming key error prevents removal
      • Forgetting to update the list state
      • Thinking swipe duplicates items
      4. What is wrong with this Dismissible usage?
      Dismissible(
        key: Key('item'),
        onDismissed: (direction) {
          items.removeAt(index);
        },
        child: ListTile(title: Text('Item')),
      )
      medium
      A. The key is not unique for each item
      B. The onDismissed callback is missing
      C. The child widget is not a ListTile
      D. The index variable is not defined

      Solution

      1. Step 1: Check the key uniqueness

        The key is Key('item') which is constant and not unique per item, causing issues in lists.
      2. Step 2: Verify other parts

        The onDismissed callback exists, child is a ListTile, and index is assumed defined, so no issues there.
      3. Final Answer:

        The key is not unique for each item -> Option A
      4. Quick Check:

        Keys must be unique per Dismissible [OK]
      Hint: Keys must be unique strings or objects per item [OK]
      Common Mistakes:
      • Using same key for all items
      • Ignoring key importance in lists
      • Assuming onDismissed is optional
      5. You want to show a red background with a trash icon when swiping a Dismissible item to the left. Which code snippet correctly implements this?
      hard
      A. background: Container(color: Colors.red)
      B. background: Container(color: Colors.red, child: Icon(Icons.delete, color: Colors.white))
      C. background: Container(color: Colors.white, child: Icon(Icons.delete, color: Colors.red))
      D. background: Icon(Icons.delete, color: Colors.red)

      Solution

      1. Step 1: Understand background property

        The background expects a widget behind the item during swipe, usually a colored container with an icon.
      2. Step 2: Check each option's correctness

        The snippet with Container(color: Colors.red, child: Icon(Icons.delete, color: Colors.white)) provides a red background with a visible white trash icon. Others lack a container, the icon, or use colors that do not produce a red background with a visible trash icon.
      3. Final Answer:

        background: Container(color: Colors.red, child: Icon(Icons.delete, color: Colors.white)) -> Option B
      4. Quick Check:

        Red container + white icon = correct swipe background [OK]
      Hint: Use Container with color and Icon for swipe background [OK]
      Common Mistakes:
      • Using icon alone without container
      • Wrong colors making icon invisible
      • Missing icon in background
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard