Bird
Raised Fist0
Android Kotlinmobile~20 mins

Column and Row layouts in Android Kotlin - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Master of Column and Row Layouts
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ ui_behavior
intermediate
2:00remaining
What is the output of this Column layout code?
Consider this Kotlin Compose code snippet. What will the screen show?
Android Kotlin
Column {
  Text("Hello")
  Text("World")
}
AEmpty screen with no text
BTwo texts side by side horizontally: Hello left, World right
COnly one text: HelloWorld combined
DTwo texts stacked vertically: Hello on top, World below
Attempts:
2 left
💡 Hint
Column stacks children vertically, like a list going down.
❓ ui_behavior
intermediate
2:00remaining
What happens if you use Row with these Texts?
Look at this Kotlin Compose code. What is the visual result?
Android Kotlin
Row {
  Text("Left")
  Text("Right")
}
ATexts overlap on top of each other
BTexts appear side by side horizontally: Left then Right
CTexts appear stacked vertically: Left above Right
DOnly one text: LeftRight combined
Attempts:
2 left
💡 Hint
Row arranges children horizontally, like a row of items.
❓ lifecycle
advanced
2:30remaining
What happens if you nest a Row inside a Column?
Given this code, how will the texts be arranged on screen?
Android Kotlin
Column {
  Text("Top")
  Row {
    Text("Left")
    Text("Right")
  }
  Text("Bottom")
}
ATop text on top, then Left and Right side by side, then Bottom text below
BAll texts stacked vertically: Top, Left, Right, Bottom
CAll texts side by side horizontally: Top, Left, Right, Bottom
DOnly Top and Bottom texts visible, Left and Right hidden
Attempts:
2 left
💡 Hint
Column stacks vertically; Row inside it stacks horizontally.
📝 Syntax
advanced
2:00remaining
Which option causes a syntax error in this Column layout?
Identify the option that will NOT compile in Kotlin Compose.
Android Kotlin
Column {
  Text("One")
  Text("Two")
}
A
Column {
  Text("One")
  Text("Two"
}
B
Column {
  Text("One")
  Text("Two")
}
C
Column {
  Text("One")
  Text("Two")
  Text("Three")
}
D
Column {
  Text(text = "One")
  Text(text = "Two")
}
Attempts:
2 left
💡 Hint
Look for missing or extra parentheses or braces.
🧠 Conceptual
expert
3:00remaining
What is the effect of using Modifier.weight(1f) in a Row?
In this Row, what does Modifier.weight(1f) do to the Text composables?
Android Kotlin
Row {
  Text("A", Modifier.weight(1f))
  Text("B", Modifier.weight(2f))
}
AWeights have no effect inside a Row
BText A and B have equal width regardless of weight
CText B takes twice the horizontal space of Text A
DText A takes twice the horizontal space of Text B
Attempts:
2 left
💡 Hint
Weight controls how much space each child fills proportionally.

Practice

(1/5)
1. Which layout arranges its child views vertically in Android Kotlin?
easy
A. Row
B. Column
C. Grid
D. FrameLayout

Solution

  1. Step 1: Understand layout orientation

    Column arranges children vertically, stacking them top to bottom.
  2. Step 2: Compare with other layouts

    Row arranges children horizontally, Grid arranges in a grid, FrameLayout stacks overlapping.
  3. Final Answer:

    Column -> Option B
  4. Quick Check:

    Vertical arrangement = Column [OK]
Hint: Vertical means top to bottom, so use Column [OK]
Common Mistakes:
  • Confusing Row with Column
  • Thinking Grid arranges vertically only
  • Mixing FrameLayout stacking with vertical layout
2. Which of the following is the correct Kotlin syntax to create a Row layout with two Text views inside?
easy
A. Row( Text("Hello"), Text("World") )
B. Column { Text("Hello") Text("World") }
C. Row { Text("Hello") Text("World") }
D. Row { TextView("Hello") TextView("World") }

Solution

  1. Step 1: Identify correct Row syntax

    Row uses curly braces with child composables inside, separated by lines.
  2. Step 2: Check child components

    Text is the correct composable for text display, TextView is Android View, not Compose.
  3. Final Answer:

    Row { Text("Hello") Text("World") } -> Option C
  4. Quick Check:

    Row uses braces and Text composables [OK]
Hint: Use braces {} for layouts and Text composable for text [OK]
Common Mistakes:
  • Using parentheses instead of braces for Row
  • Using Column instead of Row
  • Using TextView instead of Text composable
3. What will be the visual arrangement of the following code?
Column {
  Text("A")
  Row {
    Text("B")
    Text("C")
  }
  Text("D")
}
medium
A. A at top, B and C side by side in middle, D at bottom vertically
B. A, B, C, D all side by side horizontally
C. A, B, C stacked vertically, D missing
D. Only A and D visible, B and C hidden

Solution

  1. Step 1: Analyze outer Column layout

    Column stacks children vertically: Text("A"), then Row, then Text("D").
  2. Step 2: Analyze inner Row layout

    Row arranges Text("B") and Text("C") horizontally side by side.
  3. Final Answer:

    A at top, B and C side by side in middle, D at bottom vertically -> Option A
  4. Quick Check:

    Column vertical + Row horizontal = mixed layout [OK]
Hint: Column stacks vertically, Row stacks horizontally inside [OK]
Common Mistakes:
  • Thinking Row inside Column stacks vertically
  • Ignoring inner Row layout
  • Assuming all texts are horizontal
4. Identify the error in this Kotlin Compose code snippet:
Row {
  Text("Hello")
  Text("World")
  Column(
    Text("Nested")
  )
}
medium
A. Missing comma between Text("Hello") and Text("World")
B. Text composable cannot be inside Column
C. Row cannot contain Column as child
D. Column should use braces {} instead of parentheses ()

Solution

  1. Step 1: Check Column syntax

    Column uses curly braces {} to enclose children, not parentheses ().
  2. Step 2: Verify child composables

    Text can be inside Column; Row can contain Column; commas are not needed between children.
  3. Final Answer:

    Column should use braces {} instead of parentheses () -> Option D
  4. Quick Check:

    Layouts use braces {} for children [OK]
Hint: Use {} for layout children, not () [OK]
Common Mistakes:
  • Using () instead of {} for layouts
  • Thinking commas are required between children
  • Believing nested layouts are not allowed
5. You want to create a UI where three buttons are arranged horizontally, but the middle button should be twice as wide as the others. Which layout and modifier approach is best in Kotlin Compose?
hard
A. Use Row with weights: Button1 weight=1, Button2 weight=2, Button3 weight=1
B. Use Column with padding on middle button
C. Use Row with fixed width buttons and margin on middle button
D. Use Column with weight modifiers on buttons

Solution

  1. Step 1: Choose horizontal layout

    Row arranges children horizontally, perfect for side-by-side buttons.
  2. Step 2: Use weight modifier for sizing

    Assign weights to buttons to control relative widths; middle button weight=2 makes it twice as wide.
  3. Final Answer:

    Use Row with weights: Button1 weight=1, Button2 weight=2, Button3 weight=1 -> Option A
  4. Quick Check:

    Row + weights control horizontal size [OK]
Hint: Use Row and weight modifiers for proportional widths [OK]
Common Mistakes:
  • Using Column for horizontal arrangement
  • Using fixed widths instead of weights
  • Applying padding instead of weight for size
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