Rise of Jetpack Media 3 — Revolutionising Media Playback on Android | by Prateek Batra | Oct, 2023
After Google’s official announcements at Android Dev Summit 2021 Jetpack Media 3 has come to play. With the official rollout of Jetpack Media3(v1.0) on 23 March 2023 Jetpack Media 3 is a set of libraries that help work with media files on Android devices. Earlier,…
How to animate borders in Jetpack Compose
Animation has always been my absolute favourite. Today, we will cover how to do a nice gradient border animation in Jetpack Compose. In this article, I’ll walk you through the thinking process, which is crucial so you can do similar things independently. Simply reviewing the…
Drawer Navigation using Material 3 in Jetpack Compose | by Saqib | Sep, 2023
Explaining Material3 APIs for Navigation Drawer As mentioned before Material 3 provides explicit Apis for Drawer Navigation, first we will see in brief what those APIs are and later will implement them. The main Composable provided by Material3 is ModelNavigationDrawer mentioned below. Let’s see important…
3-step guide to adding emojis — Jetpack Emoji Picker | by Nav Singh | Sep, 2023
class CustomRecentEmojiProvider(context: Context) : RecentEmojiAsyncProvider { private val sharedPreferences by lazy {context.getSharedPreferences(RECENT_EMOJI_LIST_PREF_NAME, Context.MODE_PRIVATE)} private val emoji2Frequency: MutableMap<String, Int> by lazy {sharedPreferences.getString(CUSTOM_EMOJI_FREQ_PREF_KEY, null)?.split(SPLIT_CHAR)?.associate { entry ->entry.split(VALUE_DELIMITER, limit = 2).let { value -> value[0] to value[1].toInt() }}?.toMutableMap() ?: mutableMapOf()} override fun getRecentEmojiListAsync(): ListenableFuture<List<String>> =Futures.immediateFuture(emoji2Frequency.toList().sortedByDescending { it.second }.map…
Canvas in Jetpack Compose, Github Actions, Function Composition, Kotlin, Compose Button, and more! | by Shahla Aliyeva | Sep, 2023
Just as always, we are reachable via editors@proandroiddev.com. We look forward to reading your feedback, article submissions, and partnership ideas. Follow us on Facebook and Twitter, and see you soon! Cheers, ProAndroidDev Team Sergii Zhuk . Greg Fawson . Andy Dyer . Brian Gardner ….
Creating a Form using Jetpack Compose and Material Design 3 | by Waseef Akhtar | Sep, 2023
5. Next, we’re going to create a text field for the medication name, by creating a new text label as well as a text field where user can enter the medication name. We’re also going to store the medication name as a value when the…
Exploring Canvas in Jetpack Compose — Crafting Graphics, Animations, and Game Experiences | by Nirbhay Pherwani | Sep, 2023
The Canvas composable isn’t limited to graphics; it’s also used in creating interactive and immersive game experiences directly within your app. Let’s look at a simple game concept — a bouncing ball. Bouncing Ball Game @Composablefun BouncingBallGame() {val position = remember { mutableStateOf(Offset(300f, 0f)) }val…
Building a widget using Jetpack Glance
App widgets are miniature application views that can be embedded in the home screen of your device. Jetpack Glance is a library built on top of Jetpack Compose that allows you to build these widgets for Android. In the above image you can see a…
Why Build a Pattern Library in Jetpack Compose? — Elevating User Experiences in Large-Scale Applications | by Nirbhay Pherwani | Aug, 2023
A pattern library acts as a resource for UI design and development. It comprises reusable UI components and custom styles that ensure a cohesive user experience. Pattern libraries offer several key benefits — Sourced from Dribbble 1. Consistency Across User Experience Regardless of the app’s…
More Accessible Graphs with Jetpack Compose Part 3: Differentiating without Color | by Eevis Panula | Aug, 2023
This blog post is the third one in my series on more accessible graphs with Jetpack Compose. You can find the previous two from the following links: The third topic we will cover is differentiating data by other means than color. Color is a convenient…