Bird
Raised Fist0
Fluttermobile~10 mins

Why everything in Flutter is a widget - Test Your Understanding

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a simple Flutter app with a centered text widget.

Flutter
import 'package:flutter/material.dart';

void main() {
  runApp([1]);
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Center(
          child: Text('Hello Flutter!'),
        ),
      ),
    );
  }
}
Drag options to blanks, or click blank then click option'
AScaffold()
BMyApp()
CMaterialApp()
DText('Hello')
Attempts:
3 left
💡 Hint
Common Mistakes
Passing a widget that is not the root app widget to runApp.
Forgetting to wrap widgets inside MaterialApp.
2fill in blank
medium

Complete the code to add a blue background color to the Scaffold widget.

Flutter
Scaffold(
  backgroundColor: [1],
  body: Center(child: Text('Blue background')),
)
Drag options to blanks, or click blank then click option'
AColors.blue
BColors.green
CColors.red
DColors.yellow
Attempts:
3 left
💡 Hint
Common Mistakes
Using a string like 'blue' instead of Colors.blue.
Forgetting to set backgroundColor property.
3fill in blank
hard

Fix the error in the code by completing the widget tree with the correct widget type.

Flutter
return [1](
  children: [
    Text('Item 1'),
    Text('Item 2'),
  ],
);
Drag options to blanks, or click blank then click option'
AContainer
BText
CColumn
DScaffold
Attempts:
3 left
💡 Hint
Common Mistakes
Using Text widget with children causes error.
Using Container without child property.
4fill in blank
hard

Fill both blanks to create a button that prints a message when pressed.

Flutter
ElevatedButton(
  onPressed: [1],
  child: [2],
)
Drag options to blanks, or click blank then click option'
A() => print('Button pressed')
BText('Press me')
Cprint('Hello')
DRaisedButton()
Attempts:
3 left
💡 Hint
Common Mistakes
Passing print('Hello') directly instead of a function.
Using RaisedButton instead of ElevatedButton.
5fill in blank
hard

Fill all three blanks to create a Container with padding, a red background, and a child Text widget.

Flutter
Container(
  padding: [1],
  color: [2],
  child: [3],
)
Drag options to blanks, or click blank then click option'
AEdgeInsets.all(16)
BColors.red
CText('Hello Container')
DEdgeInsets.zero
Attempts:
3 left
💡 Hint
Common Mistakes
Using strings instead of EdgeInsets for padding.
Using color property with a string instead of Colors.red.
Not wrapping text in a Text widget.

Practice

(1/5)
1. Why does Flutter use widgets for everything in the app?
easy
A. Because widgets replace the need for programming logic
B. Because widgets are only for text display
C. Because widgets are only used for animations
D. Because widgets are reusable building blocks for UI

Solution

  1. Step 1: Understand what widgets represent in Flutter

    Widgets are the basic units that build the user interface, from simple text to complex layouts.
  2. Step 2: Recognize the role of widgets in app design

    Widgets allow reuse and composition, making UI flexible and easy to build.
  3. Final Answer:

    Because widgets are reusable building blocks for UI -> Option D
  4. Quick Check:

    Widgets = reusable UI blocks [OK]
Hint: Widgets build UI pieces reusable everywhere [OK]
Common Mistakes:
  • Thinking widgets are only for text
  • Believing widgets replace all programming logic
  • Assuming widgets are only for animations
2. Which of the following is the correct way to create a simple text widget in Flutter?
easy
A. text('Hello World')
B. TextWidget('Hello World')
C. Text('Hello World')
D. TextView('Hello World')

Solution

  1. Step 1: Recall Flutter's text widget syntax

    The correct widget to display text is Text with a capital T and a string parameter.
  2. Step 2: Compare options to Flutter syntax

    Only Text('Hello World') uses the exact Flutter Text widget syntax.
  3. Final Answer:

    Text('Hello World') -> Option C
  4. Quick Check:

    Text widget syntax = Text('...') [OK]
Hint: Use capital T in Text widget for text display [OK]
Common Mistakes:
  • Using lowercase 'text' instead of 'Text'
  • Adding extra words like 'Widget' or 'View'
  • Confusing widget names with other frameworks
3. What will the following Flutter code display?
Center(
  child: Text('Welcome')
)
medium
A. Text 'Welcome' aligned to the center of the screen
B. Text 'Welcome' aligned to the top left
C. An error because Center cannot have a child
D. Text 'Welcome' aligned to the bottom right

Solution

  1. Step 1: Understand the Center widget role

    Center positions its child widget in the middle of the available space.
  2. Step 2: Analyze the child widget

    The child is a Text widget displaying 'Welcome'.
  3. Final Answer:

    Text 'Welcome' aligned to the center of the screen -> Option A
  4. Quick Check:

    Center widget centers child = Text 'Welcome' aligned to the center of the screen [OK]
Hint: Center widget centers whatever is inside it [OK]
Common Mistakes:
  • Thinking Center aligns to top left by default
  • Assuming Center cannot have children
  • Confusing Center with Align widget
4. Identify the error in this Flutter widget code:
Column(
  children: [
    Text('Hello'),
    Text('World')
  ]
)
medium
A. No error, code is correct
B. Column widget cannot have children
C. Text widgets must be wrapped in a Row
D. Missing a comma after the first Text widget

Solution

  1. Step 1: Check Column widget usage

    Column accepts a list of children widgets inside the children parameter.
  2. Step 2: Verify syntax correctness

    Commas separate list items; here commas are correctly placed after each Text widget.
  3. Final Answer:

    No error, code is correct -> Option A
  4. Quick Check:

    Column with children list syntax is correct [OK]
Hint: Children list in Column needs commas between widgets [OK]
Common Mistakes:
  • Forgetting commas between children
  • Thinking Column cannot have children
  • Believing Text must be inside Row
5. You want to create a screen with a blue background and centered white text saying 'Hello Flutter'. Which widget combination correctly achieves this?
hard
A. Container(color: Colors.blue, child: Text('Hello Flutter', color: Colors.white))
B. Scaffold(backgroundColor: Colors.blue, body: Center(child: Text('Hello Flutter', style: TextStyle(color: Colors.white))))
C. Center(backgroundColor: Colors.blue, child: Text('Hello Flutter', style: TextStyle(color: Colors.white)))
D. Text('Hello Flutter', style: TextStyle(color: Colors.white, backgroundColor: Colors.blue))

Solution

  1. Step 1: Identify the widget for screen background

    Scaffold provides a full screen structure and accepts backgroundColor.
  2. Step 2: Center the text and style it

    Center widget centers its child; Text widget styled with white color.
  3. Step 3: Check options for correct syntax and behavior

    Scaffold(backgroundColor: Colors.blue, body: Center(child: Text('Hello Flutter', style: TextStyle(color: Colors.white)))) uses Scaffold with backgroundColor and Center with styled Text correctly.
  4. Final Answer:

    Scaffold(backgroundColor: Colors.blue, body: Center(child: Text('Hello Flutter', style: TextStyle(color: Colors.white)))) -> Option B
  5. Quick Check:

    Scaffold + Center + styled Text = Scaffold(backgroundColor: Colors.blue, body: Center(child: Text('Hello Flutter', style: TextStyle(color: Colors.white)))) [OK]
Hint: Use Scaffold for background, Center to align, TextStyle for color [OK]
Common Mistakes:
  • Using Container without full screen coverage
  • Setting backgroundColor on Center widget (not supported)
  • Styling Text background instead of screen 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