1. Jetpack Compose transforms state into UI using the following three phase process.
-
Composition, Layout, Drawing
-
Measurement, Placement, Layout
-
Layout, Drawing, Placement
-
Placement, Composition, Layout
2. ___ executes your composable functions, which can emit UI and create a UI tree.
-
Layout
-
Placement
-
Drawing
-
Composition
3. Once all elements are measured in size during the Layout phase, the tree is walked again and all placement instructions are executed in the ___ step.
-
Measurement
-
Drawing
-
Placement
-
Composition
4. A Constraints object tells the layout:
Choose as many answers as you see fit.
-
It can be as large as it likes
-
Where to place each item
-
How small it can be
-
The maximum width and height of the layout
5. Which of the following is NOT true about the layout modifier:
-
It's used to modify how an element is measured.
-
It's a lambda.
-
Its content is executed during the Drawing phase.
-
It's used to modify how an element is laid out.
6. Rendering a scrollable set of items as they become visible on the screen, rather than all at once, is the main concept behind:
-
Optimization
-
Lazy layouts
-
A scrollable column
-
The
verticalScroll()modifier
7. True or False: Compose uses a single pass layout system.
-
True
-
False
Why
I think the True is: Compose uses a single pass measurement system, not single pass layout system.
8. To adjust an animation's fraction, which lets the animating value speed up and slow down, use ___.
-
Tween
-
Stiffness
-
Easing
-
Snap
kotlin
/**
* Easing is a way to adjust an animation's fraction. Easing allows transitioning
* elements to speed up and slow down, rather than moving at a constant rate.
*
* Fraction is a value between 0 and 1.0 indicating our current point in
* the animation where 0 represents the start and 1.0 represents the end.
*
* An [Easing] must map fraction=0.0 to 0.0 and fraction=1.0 to 1.0.
*/
@Stable
fun interface Easing {
fun transform(fraction: Float): Float
}