Add support to Xamarin.Forms Shell
Summary
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/shell/
The Control Icons often don't render correctly or not at all.
I've followed the VLC Samples which got me this far, but still not getting any level of consistency or intuitiveness with the VLC library.
Note: I'm troubleshooting with the sample and project repositories.
• On the iPhone 6s+ (iOS 3.6), works only in DarkMode.
• On the iPhone Xs Max (iOS 3.5.1), works only in DarkMode.
• On the iPhone 11 (iOS 3.5.1), works only in DarkMode.
• On the Galaxy Note 10+ (Android Q /Android 10 / API 29), works only in DarkMode.
• With Any device, if Visual is set to anything other than the default, it breaks the control GUI/Icons.
Lack of Color Binding options
Adding Color Bindings to the control would enable the developer to fix this directly.
Minimal project and steps to reproduce
See this Repository
After opening the solution:
- Go to 'App.xaml.cs'
- Use either 'MainPage =' lines. comment out the line not in use. You might also want to comment/uncomment 'Visual = new VisualMarker.DefaultVisual()' lines on the 'VideoPlayerPage' file.
- Start the app and Play video.
- See error
What is the current bug behavior?
The Control Icons often don't render correctly or not at all. I finally got it to show correctly on iOS somehow once, but now it stopped. Android sometimes shows only half the icon, leaving the rest barely visible. After further digging, it seems to be related to Xamarin.Forms.Visual.Material libraries: when adding the following to the ContentPage constructor:
Visual = new VisualMarker.MaterialVisual(); // icon issues
Visual = new VisualMarker.DefaultVisual(); // intermittent issues, if Visual is set anywhere in the app, such as the Xamarin.Forms.Shell class.
What is the expected correct behavior?
The controls just render and work, on any platform, regardless of Visual settings, regardless of DarkMode / LightMode. Adding Color Bindings to the control would enable the developer to fix this directly.
Does it work on other platforms? Does it work with the official VLC apps?
Relevant logs and/or screenshots
The Icon Issue.
Visual = new VisualMarker.DefaultVisual()
Visual = new VisualMarker.MaterialVisual()
Environment
- OS: iOS 13.6, Android Q (10)
- Version iOS 13.6, Android Q (10)
- Device: iPhone 6s+, Note 10+
- LibVLC version and architecture 3.4.6 Xamarin.Forms.iOS/Android
- LibVLCSharp version 8.0