Jolanda Verhoef's Avatar

Jolanda Verhoef

@lojanda.bsky.social

Android Developer Relations @Google. Hasn't touched XML layouts in years.

639 Followers  |  125 Following  |  20 Posts  |  Joined: 12.11.2024  |  1.7482

Latest posts by lojanda.bsky.social on Bluesky

Post image

Compose UI 1.9.0-alpha01 introduces custom bullets for annotated strings. The methods withBulletList and withBulletListItem let you set custom shapes and brushes, so the sky is the limit! What do you think about my cute todo-list bullets?

More info β†’ android-review.googlesource.com#/q/I1d066d3d...

07.05.2025 14:42 β€” πŸ‘ 20    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

What's holding you back from upgrading to 1.8 at this point?

01.05.2025 07:44 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

This resonated a lot, thank you so much for sharing πŸ’š

28.04.2025 08:34 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Add preload manager to exoplayer to improve short form playback experience by MayuriKhinvasara Β· Pull Request #91 Β· android/socialite Add preload manager to exoplayer to improve short form playback experience (1) Add preload manager for exoplayer (2) Create an Wrapper class to manage and customize all functionalities of preload (...

That's more of an architectural question vs a Compose question. But yes, you'll definitely want to re-use your player instance(s).
Have you checked the new PreloadManager? That was built specifically with short form video use cases in mind? See github.com/android/soci...

28.03.2025 11:55 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Getting started with Compose-based UI Β |Β  Android media Β |Β  Android Developers

Ready to dive in? Check out the updated docs for details & examples: developer.android.com/media/media3...
Feedback? Let us know on GitHub: github.com/androidx/media

#Android #VideoPlayback

27.03.2025 17:13 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Why this approach? We're giving you the flexibility you need. Instead of a pre-built UI, you get robust, tested state logic. This ensures your custom controls are perfectly synced with playback. Reliability of Media3 + creative freedom of Compose = 🀩

27.03.2025 17:13 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

This release contains:

- PlayerSurface: Clean wrapper for Surface/Texture for easy video rendering.
- PresentationState: Smoother transitions between playlist items.
- Composable State Classes: Build your own UI controls! Play/Pause, Next/Prev, Shuffle, Repeat, and more to come!

27.03.2025 17:13 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

πŸš€ Big news for Android devs using Jetpack Compose! Media3 just dropped version 1.6.0, and it includes a brand new artifact: media3-ui-compose! Finally, seamless and customizable video playback directly in your Compose apps. 🎬 #AndroidDev #JetpackCompose #Media3

27.03.2025 17:13 β€” πŸ‘ 50    πŸ” 18    πŸ’¬ 2    πŸ“Œ 1
Documentation for performHapticFeedback - first line says: "BZZTT!!1!". LOL

Documentation for performHapticFeedback - first line says: "BZZTT!!1!". LOL

Had to laugh out loud when I encountered this performHapticFeedback reference doc remark 🀣

25.02.2025 08:57 β€” πŸ‘ 10    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Got you! Accidental clickbait haha πŸ˜†

23.02.2025 09:47 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
calculator-app - Chad Nauseam Home "A calculator app? Anyone could make that." (this was originally a https://x.com/ChadNauseam/status/1890889465322786878) Not true. A calculator should show you the result of the mathematical expressi…

Cool story about the Android Calculator app. Or why (10^100) + 1 βˆ’ (10^100) could erroneously show as 1, not 0. TLDR: it's complicated πŸ˜…

chadnauseam.com/coding/rando...

23.02.2025 09:40 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Mobile device showing a video of a water bottle. Showing white circle and confetti for each tap to focus event.

Mobile device showing a video of a water bottle. Showing white circle and confetti for each tap to focus event.

Combining CameraX and Jetpack Compose unlocks a lot of powerful and cool UI experiences. For example - you could burst some confetti whenever a user taps to focus!

Thanks to @dionsegijn.bsky.social who wrote the awesome Konfetti library 🎊

Read more ➑️ goo.gle/3BumTaP

13.01.2025 09:32 β€” πŸ‘ 13    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Preview
Getting Started with CameraX in Jetpack Compose Part 1β€Šβ€”β€ŠA guide to building a basic camera preview, covering setup, permissions, ViewModel creation, and UI implementation.

πŸš€ Did you know there's a new Compose artifact for working with CameraX?

Let me tell you all about it in a new blog post series "Unlocking the Power of CameraX in Jetpack Compose".

In part 1, I explain how to use the new artifact and show a camera preview in your app.

goo.gle/3ZOk9Nj

08.01.2025 11:58 β€” πŸ‘ 24    πŸ” 6    πŸ’¬ 1    πŸ“Œ 1

I'll raise this to see if we can change the order here somehow. I know the pain :)

18.11.2024 20:58 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Ahh that's cool! So let me try to understand; you registered your broadcast receiver in your manifest, launched a foreground service when it was called, and then in the foreground service you render Compose UI?
Did you encounter any strange effects while using Compose to draw on top of other apps?

18.11.2024 14:32 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Did you write any code using Compose for that use case? In general broadcast receivers and foreground services are a very complex area, I'm coming in from the Compose side trying to understand where they overlap.

18.11.2024 14:28 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Hey #AndroidDev folks! Is there anything related to Broadcast Receivers + Jetpack Compose + app architecture that confused you or that you thought was unclear from the docs when implementing them in your app?

18.11.2024 13:16 β€” πŸ‘ 8    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0

Followed up anyway and indeed Android Studio / Intellij doesn't use type information for auto-complete as it requires too much processing and would make auto-complete too slow. Using smart completion will do what you need.

18.11.2024 13:14 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
Graphics layers | Jetpack Compose Tips
YouTube video by Android Developers Graphics layers | Jetpack Compose Tips

The latest #ComposeTip for Delightful UI has been released πŸ₯³

In this episode, we play with a few of my favorite things: Graphics layers, BlendModes and ColorFilters πŸ₯°

Check it out πŸ‘‡
youtu.be/KawI7srRvOM?...

15.11.2024 18:16 β€” πŸ‘ 58    πŸ” 14    πŸ’¬ 3    πŸ“Œ 0

Can you give a specific example so I can raise this internally?

15.11.2024 08:30 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Software Engineer III, Android Toolkit, Jetpack Compose - London β€” Google Careers

The Jetpack Compose team is hiring in London! If you'd like to join us, see the full job posting at goo.gle/4fdrpco

04.11.2024 16:58 β€” πŸ‘ 62    πŸ” 19    πŸ’¬ 0    πŸ“Œ 1

Ok, first post. *thinks of something interesting*

Honest question - why would one attach a broadcast receiver to an Activity context vs Application context? Docs say it's because it will be tied to the lifecycle, but then continue to say you NEED to unregister because otherwise it'll leak...

12.11.2024 10:09 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

@lojanda is following 19 prominent accounts