- Android Styling: themes overlay
- Android Styling: prefer theme attributes
- Android styling: common theme attributes
- Android styling: themes vs styles
- Android Themes & styles, a real architecture
- What’s your text’s appearance?
- DayNight — Adding a dark theme to your app
- Dark Mode Musings: Beware of the Context
- Migrating to Material Components
- Material Theming with MDC: Shape
- Material Theming with MDC: Color
- Material Theming with MDC: Type
- Dark Theme with MDC
- 📺 Developing themes with style (Android Dev Summit '19)
- Some common mistakes when doing layout in Android = Writing Performant Layouts
- AsyncLayoutInflater
- LayoutInflater: Friend or Foe?
- Using vector assets in Android apps
- Draw a Path: Rendering Android VectorDrawables
- Understanding Android’s vector image format: VectorDrawable
- Material Motion with MDC
- WindowInsets — listeners to layouts
- Animating your keyboard (part 1)
- Animating your keyboard (part 2): reacting to WindowInset animations
- Window Insets and Keyboard Animations Tutorial for Android 11
- Insetter
- curtains - The missing Android Window APIs!
- Why would I want to fitsSystemWindows?
- The little secret of android:animateLayoutChanges
- Drag and drop in Android. All you need to know
- Minute of Pain #5: ChipGroup functionality
- Ultimate Guide To Android Custom View
- Android: draw a custom view
- Android: bring life to your custom view
- How to test a custom Android view with Robolectric
- Custom view from scratch. Part I
- Custom view from scratch. Part II. Canvas
- Custom view from scratch. Part III. Performance and optimisation
- Custom Android Views: Graph View and Drawing on the Canvas
- Custom Android Views: Search View and Circular Reveal Animations
- Custom Android Views: Carousel RecyclerView
- Messengers-like ImageView
- Android Custom View Level 1 Basic Terms and Creation of Custom View
- Android Custom Views Level 2 AttributeSet
- Android Custom View Level 3 View Life-Cycle
- https://medium.com/mobile-app-development-publication/android-view-scrolling-made-simple-2bae4209eca1
- Android Physics-based Animation
- Getting Started with Android Canvas Drawing
- Learn All Android Canvas Draw Functions
- Android Canvas APIs with Kotlin and KTX
- Playing with Paths
- Playing with Android canvas drawVertices
- Learn to create a Paint Application for Android
- A guide to drawing in android
- Exploring Android Canvas Drawing— For Shapes, Bitmaps andCustom views
- Android Canvas Drawing: Useful Graphics Classes & Operations
- Expounding Android Canvas’ DrawText
- Canvas : The Real Play Ground! Android
- Drawing multiline text to Canvas on Android
- Android UI: Creating a layout rounded only in the top
- Clipping and shadows on Android
- PorterDuff.Mode
- Manipulating images and Drawables with Android’s ColorFilter
- The power of Android Porter/Duff Mode with View Animation
- Spantastic text styling with Spans
- What’s your text’s appearance?
- Underspanding spans
- Working with spans in Android
- Creating custom Text Selection actions with ACTION_PROCESS_TEXT
- Async Text Loading in Android with PrecomputedText
- Using gradient for styling text
- Animating on a Schedule
- Suspending over views
- Suspending over views — example
- Android: Using Physics-based Animations in Custom Views
- Complex UI/Animations on Android
- Workcation App – Part 2. Animating Markers with MapOverlayLayout
- Workcation App – Part 3. RecyclerView interaction with Animated Markers
- How We Developed Jelly ToolBar Animation for Android in Kotlin
- Introduction to Physics-based animations in Android
- Bringing smooth animation transitions to Android
- Randomized, endless animation using TimeAnimator
- Change Theme Dynamically with Circular Reveal Animation on Android
- Fragment transitions with shared elements
- Hidden mistakes with Shared Element Transitions
- Workcation App – Part 1. Fragment custom transition
- Workcation App – Part 4. Shared Element Transition with RecyclerView and Scenes
- Gesture Navigation: going edge-to-edge (I)
- Gesture Navigation: handling visual overlaps (II)
- Gesture Navigation: handling gesture conflicts (III)
- Gesture Navigation: immersive modes (IV)
- ConstraintLayout.com
- Guide to ConstraintLayout
- Exploring the new Android ConstraintLayout
- Introducing Constraint Layout 2.0
- ConstraintLayout Chains
- Introducing Constraint Layout 1.1
- Constraint Layout 2.0 — Flow Tag Introduction
- A Battle towards Performance- Constraint Layout vs Other Layouts(Part -1)
- ConstraintLayout Flow, Bye Bye to LinerLayout??
- ConstraintLayout Flow: Simple Grid Building Without Nested Layouts
- Awesomeness of ConstraintLayout Flow
- Beautiful animations using Android ConstraintLayout
MotionLayout
- Introducing the Motion Editor
- Introduction to MotionLayout (part I)
- Introduction to MotionLayout (part II)
- Introduction to MotionLayout (part III)
- Defining motion paths in MotionLayout
- Complex UI/Animations on Android — featuring MotionLayout
- Circular carousel with MotionLayout
- A MotionLayout Tutorial: Create Motions and Animations for Android
- Anatomy of RecyclerView. Part 1
- Anatomy of RecyclerView. Part 2
- How RecyclerView works internally?
- How to Cook the 60 FPS RecyclerView?
- Smooth RecyclerView Scrolling in Android
- A guide to recyclerview-selection
- Smooth cross RecyclingViews Swipe
- Add extra depth to your list using parallax
- Update recycler view content without refreshing the data
- Fast Scrolling with RecyclerView
- RecyclerView Anti-Patterns
- Concatenate adapters sequentially with ConcatAdapter
- Declarative Adapter Building
- Recycler view, power of asynchronous view holders creation
- Detecting snap changes with Android’s RecyclerView SnapHelper
- Inside RecyclerView’s SnapHelper
- Improving scrolling behavior of nested RecyclerViews - Part 1
- 10 steps to create a custom LayoutManager
- Reel Search and LayoutManager: An Android journey
- RecyclerView animated transition between Grid and List layouts
- Building a RecyclerView LayoutManager – Part 1
- Building a RecyclerView LayoutManager – Part 2
- Building a RecyclerView LayoutManager – Part 3
- Mastering RecyclerView Layouts