jetc.dev Newsletter Issue #115
This week, we look again at design systems and testing. We look at text editing,
in terms of current problems and future solutions. And we see how
(the composable) compares to
MotionLayout (the widget).
One Off the Stack, One Off the Slack
You’ve got questions. That’s understandable!
Here, Google’s Adam Powell takes another shot at a classic Compose conundrum:
do we use
State for exposing reactive streams from a viewmodel?
See what Adam recommends in this week’s highlighted Kotlinlang
#compose Slack thread!
Posts, videos, and other new information related to Jetpack Compose!
Vinay Gaba is back, looking at how we can tailor Android Studio’s auto-complete suggestions to exclude items that embody YAGNI (You Aren’t Gonna Need It) and can be trimmed out of auto-complete drop-downs. The objective is to get the Compose UI auto-completion suggestions to be more focused and minimize accidental incorrect auto-complete selections.
Medium: Implementing a fully-custom Design Language System with Jetpack Compose — Part one: Foundation
James Shvarts returns, looking at the experimental
MotionLayout() composable, bringing
the animation control of
MotionLayout to Compose UI. This includes creating a
animating multiple composables, performing various types of animations, and debugging
when it does not quite work the way that you want.
Medium is moving to Compose UI. So, Medium wrote a Medium post (by Alexandre Bruneau)
on it! Specifically, it looks at
Surface() in dark themes and how
illumination was not working as expected, courtesy of their custom theme, and what
Medium had to do to fix it.
Other Interesting Links
- Medium: 7 things to keep in mind while building jetpack composable’s.
- Medium: How to authenticate to Firebase using Google One Tap in Jetpack Compose?
- Angled Gradient Background in Android using Jetpack Compose
- Jetpack compose custom rating bar
- Custom AlertDialog with Jetpack Compose
- First Components – Labels & Buttons
100% pure code!
A bug in Compose UI makes it difficult
to implement a rich text editor, because styling gets dropped. GitHub user onebone
ParvenuEditor() wrapper around
BasicTextField() that re-applies styles
for you to try to work around the problem.
Oleksandr Balan and Filip Wiesner tackled another Compose UI limitation: “modal” bottom sheets are
only modal within the parent composable. Sometimes, we need bottom sheets that
are modal at the system level. Oleksander and Filip leverage
FullScreenPopup() to implement
a system-modal bottom sheet, in the form of a
Other Interesting Links
- GitHub: Jaseemakhtar / ComposeCG (demo of graphics algorithms)
- GitHub: ryanmoelter / magellanx (navigation)
- GitHub: azmiradi / CircleImageCompose (circle-crop images)
…And One More Thing
Sorry, this was not a great week for me, and a side effect is that I do not have anything for this section. 😞
I look forward to Google I|O on Wednesday and Thursday, and I look forward to all the new Compose stuff that we can all write about in the future!
- 2023-01-24: Locales! Relay! Effects! Paging! Foldables! Permissions! Date pickers! Bi-directional scrolling! And what your MaterialTheme means... for your SwiftUI code?!?
- 2023-01-17: New Compose patches and alphas! Dealing with Navigation for Compose! Scaffolds! QR codes! Server-defined UI! And @email@example.com has joined the BOM squad! 😁 💥
- 2023-01-10: onNewIntent() and composables! ContactsContract and composables! Balloons! QR codes! Pencils! And a focus on focus!