Skip to content

Material You Color Previewer 1.2

Latest
Compare
Choose a tag to compare
@Smooth-E Smooth-E released this 19 Apr 14:40
· 9 commits to main since this release

Changes and improvements

This release brings some technical improvements and fixes along with added Russian translations and improved visual experience. Here is the list of all changes made:

  • ✅ Fix version numbering and naming. Thanks to @IzzySoft for noticing this in #1.
  • 💭 Added Russian translations.
  • 🔗 All dependencies were upgraded.
  • 🛠 The android-maskable-layout library was forked and migrated to AndroidX.
  • ✨ Bottom dialog animation stuttering was fixed. However, this resulted in some visual inconsistencies between different platform versions (see Known Issues).

Known issues

Sudden crashes

When changing the UI state on your device (e.g. switching from light to dark theme) the app will most likely crash. It may crash in some cases when you are changing its activity state (e.g. returning to the app from a home screen or "Recent applications" screen). The cause of these crashes is the android-maskable-layout library which I am using to cut inner UI elements of rounded-cornered dialogs and scrollable views. Since this library is very outdated (last update in 2020, migrated to AndroidX by me in early spring 2023) I am planning to either replace it with Android's new ShapeableImageView where possible or patch the existing library further to resolve mentioned crashes.

Inconsistent experience on different Android versions

Navigation bar looks differently on different API versions:

  • Android 6 - Android 9 - navigation bar has a blue background and light icons
  • Android 10 and Android 11 - navigation bar has a dimmed background and light icons
  • Android 12 and others (hopefully) - navigation bar background is blue with dark icons (intended behavior)

It all started when I realized that Android has a very annoying bug in somewhat recent versions of it: when you want a window to slowly slide from below the screen on entrance and are making to interpolate it's Y position between -100% and 0%, it moves slightly higher (as if the top edge of the navigation bar was the bottom edge of the screen) and then immediately jumps back to where it should've stopped. It turned out that is I set the android:windowIsFloating flag to true, the animation will perform just fine. However. with this flag enabled, another problem appeared. It turns out, that on older API versions if the window is floating, then on API 23 the bottom inset for it is always 0, and on API 24 to 27 the navigation bar is dimmed. Then I made separate themes for different API versions, but didn't come up with a solution on how to remove dimness on Android 10 and Android 11.

This is why you will get somewhat inconsistent experience on different Android versions. In future releases I am planning to reimplement these bottom dialogs with ModalBottomSheets and overall redesign the app, since for now it is not really built with Material 3 guidelines in mind.

Stay tuned for the next release!