Bird
Raised Fist0
Android Kotlinmobile~5 mins

Arrangement and alignment in Android Kotlin - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of LinearLayout in Android?

LinearLayout arranges its child views in a single row or column, either horizontally or vertically.

Click to reveal answer
intermediate
How does gravity differ from layout_gravity in Android layouts?

gravity controls the alignment of content inside a view.
layout_gravity controls how the view itself is positioned inside its parent.

Click to reveal answer
beginner
What does match_parent do when used for width or height?

It makes the view expand to fill the size of its parent container in that dimension.

Click to reveal answer
intermediate
Explain the role of weight in a LinearLayout.

weight lets child views share available space proportionally in a LinearLayout.

Click to reveal answer
advanced
What is the difference between RelativeLayout and ConstraintLayout?

RelativeLayout positions views relative to siblings or parent edges.
ConstraintLayout is more flexible and efficient, allowing complex positioning with constraints.

Click to reveal answer
Which layout arranges child views in a single column or row?
AFrameLayout
BLinearLayout
CConstraintLayout
DRelativeLayout
What does layout_gravity="center" do?
ACenters the content inside the view
BAligns the view to the top
CCenters the view inside its parent
DMakes the view fill the parent
If a child view has layout_weight="1" in a horizontal LinearLayout, what happens?
AIt shares extra space equally with other weighted views
BIt overlaps other views
CIt shrinks to minimum size
DIt gets no extra space
Which attribute aligns content inside a TextView?
Agravity
Bpadding
Clayout_gravity
Dmargin
Which layout is best for complex view positioning with flexible constraints?
AFrameLayout
BRelativeLayout
CLinearLayout
DConstraintLayout
Describe how you would center a button inside a parent layout using Android XML attributes.
Think about how to position the button itself and its content.
You got /4 concepts.
    Explain how weight works in a LinearLayout and why it is useful.
    Imagine sharing leftover space among views.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which property in a LinearLayout controls whether items are stacked vertically or horizontally?
      easy
      A. layout_width
      B. gravity
      C. orientation
      D. padding

      Solution

      1. Step 1: Understand LinearLayout properties

        The orientation property defines if children are stacked vertically or horizontally.
      2. Step 2: Differentiate from other properties

        gravity controls alignment inside the container, not stacking direction.
      3. Final Answer:

        orientation -> Option C
      4. Quick Check:

        Stack direction = orientation [OK]
      Hint: Stacking direction is set by orientation property [OK]
      Common Mistakes:
      • Confusing gravity with orientation
      • Thinking padding controls stacking
      • Mixing layout_width with arrangement
      2. Which of the following is the correct syntax to center all child views inside a LinearLayout using gravity in Kotlin XML?
      easy
      A. android:orientation="center"
      B. android:gravity="center"
      C. android:layout_gravity="center"
      D. android:align="center"

      Solution

      1. Step 1: Identify property for child alignment inside container

        android:gravity aligns children inside the LinearLayout.
      2. Step 2: Check syntax correctness

        android:gravity="center" is the correct attribute and value to center children.
      3. Final Answer:

        android:gravity="center" -> Option B
      4. Quick Check:

        Center children = android:gravity="center" [OK]
      Hint: Use android:gravity to align children inside layout [OK]
      Common Mistakes:
      • Using layout_gravity instead of gravity for children
      • Setting orientation to center (invalid)
      • Using non-existent align attribute
      3. Given this Kotlin XML snippet:
      <LinearLayout
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:orientation="horizontal"
          android:gravity="center_vertical">
          <Button android:text="A" />
          <Button android:text="B" />
      </LinearLayout>
      How will the buttons be arranged on the screen?
      medium
      A. Buttons side by side horizontally and centered vertically
      B. Buttons stacked vertically aligned to bottom
      C. Buttons side by side horizontally aligned to top
      D. Buttons stacked vertically and centered horizontally

      Solution

      1. Step 1: Analyze orientation property

        android:orientation="horizontal" means children are placed side by side horizontally.
      2. Step 2: Analyze gravity property

        android:gravity="center_vertical" aligns children vertically centered inside the container.
      3. Final Answer:

        Buttons side by side horizontally and centered vertically -> Option A
      4. Quick Check:

        Horizontal orientation + center_vertical gravity = Buttons side by side horizontally and centered vertically [OK]
      Hint: Orientation sets direction; gravity sets alignment inside container [OK]
      Common Mistakes:
      • Confusing orientation with gravity effects
      • Assuming vertical stacking with horizontal orientation
      • Ignoring gravity vertical centering
      4. What is wrong with this Kotlin XML layout snippet?
      <LinearLayout
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:orientation="vertical"
          android:gravity="center_horizontal">
          <TextView
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_gravity="center" />
      </LinearLayout>
      medium
      A. layout_gravity="center" on TextView is redundant here
      B. Using both gravity and layout_gravity causes conflict
      C. orientation="vertical" is invalid for LinearLayout
      D. Missing closing tag for LinearLayout

      Solution

      1. Step 1: Understand gravity vs layout_gravity

        android:gravity on LinearLayout aligns children inside it; layout_gravity aligns the child itself inside its parent.
      2. Step 2: Check redundancy in this context

        Since LinearLayout has gravity="center_horizontal", the child TextView is already centered horizontally, so layout_gravity="center" on TextView is unnecessary.
      3. Final Answer:

        layout_gravity="center" on TextView is redundant here -> Option A
      4. Quick Check:

        Redundant layout_gravity when parent gravity centers children [OK]
      Hint: Parent gravity centers children; child layout_gravity may be redundant [OK]
      Common Mistakes:
      • Thinking orientation="vertical" is invalid
      • Confusing gravity and layout_gravity roles
      • Missing closing tags (actually present here)
      5. You want to create a LinearLayout that stacks three buttons vertically, but the middle button should be aligned to the right edge while the others are centered horizontally. Which arrangement and alignment setup achieves this?
      hard
      A. Set orientation="vertical" on LinearLayout, gravity="center_horizontal", and layout_gravity="center_horizontal" on the middle button
      B. Set orientation="horizontal" on LinearLayout, gravity="center_vertical", and layout_gravity="end" on the middle button
      C. Set orientation="vertical" on LinearLayout, gravity="end", and layout_gravity="center_horizontal" on the middle button
      D. Set orientation="vertical" on LinearLayout, gravity="center_horizontal", and layout_gravity="end" on the middle button

      Solution

      1. Step 1: Set vertical stacking

        orientation="vertical" stacks buttons top to bottom.
      2. Step 2: Center all buttons horizontally by default

        Set gravity="center_horizontal" on LinearLayout to center children horizontally.
      3. Step 3: Align middle button to right edge

        Override middle button's alignment with layout_gravity="end" to push it to the right.
      4. Final Answer:

        orientation="vertical", gravity="center_horizontal", layout_gravity="end" on middle button -> Option D
      5. Quick Check:

        Vertical stack + center default + override middle button end [OK]
      Hint: Use layout_gravity on child to override parent gravity alignment [OK]
      Common Mistakes:
      • Using horizontal orientation instead of vertical
      • Setting gravity="end" on parent causing all children right aligned
      • Not overriding middle button alignment
      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