jetc.dev Newsletter Issue #7
Published: 2020-03-31
A slim issue this week, with a heavy focus on animations!
One Off the Stack, One Off the Slack
You’ve got questions. That’s understandable!
Getting LayoutAlign
to Work
Modifiers are a list, not a set – their order matters!
Animations, and an Expand/Collapse Button
Setting up animated effects in Compose does not require a ton of code, particularly if you use the Jetpack Animation library to handle some of the interpolation. Here, we have an animated expand/collapse button in < 150 lines!
Note: to view this, you need to be a member of the Kotlin Slack workspace — sign up at https://slack.kotlinlang.org/!
Resource Roundup
100% pure code!
Gist: DrawLayer Demo
Another animation sample, this time focusing on DrawLayer()
. < 150 lines for a
demo of how scale and rotation affect the layer!
GitHub - programadorthi / compose-weather-forecast
A Compose sample demonstrating displaying a weather forecast, with yet more animations!
GitHub - AlexZhukovich / CoffeeDrinksWithJetpackCompose
A JetNews-style sample for placing a coffee order, with favorite drinks.
…And One More Thing
Documenting Jetpack Compose is going to be a challenge. KDocs are class-centric, and Compose is more function-centric.
Suppose, for example, you want to look up the definition of LayoutWeight
. You
head over to https://developer.android.com and search on it… and you seem to get
no matches. It’s not even clear if any of the search results are related to
Compose.
What’s going on is that LayoutWeight
is a function, defined on RowColumnScope
.
RowColumnScope
is part of the Compose DSL, but we are not running around and
creating instances of it manually. But, since the developer.android.com
search
is centered around classes, if you do not know the right class, you may have
difficulty finding the function.
Google’s focus seems to be on Android Studio auto-complete and related integrations, which is a reasonable solution. But, we cannot link to auto-complete in Medium posts and Slack discussions. And Android Studio’s resource requirements amount to a tax on developers, one that not everyone can pay.
Eventually, this situation will improve. Probably the online docs will become more searchable for Compose items. Third parties might create their own catalog of Compose functions with an eye towards simplifying the documentation navigation. Until then… just be prepared to hunt through the docs a bit more than you might be used to.
Or, you can subscribe to the Atom feed or follow Mark Murphy in the Fediverse.
Recent Issues:
- 2024-12-10: A Compose Multiplatform alpha! Hot reload! Presentation! Sprites! Calendars!
- 2024-12-03: Rebecca Franks on clipping and masking! Stefano Natali on graphicsLayer()! FunkyMuse on type-safe nav results! And... if we have enough maps, do we need to store our maps in a Map?!?
- 2024-11-26: Math! Shared element transitions! Custom modifiers! Macrobenchmark! Adapting to platform-specific design systems! And... why does wrapContentSize() not wrap my content size?!?