-
Notifications
You must be signed in to change notification settings - Fork 397
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Full Screen Controls for Media Element [Proposal] #1172
Comments
Hi James! First, I want to apologize for doing a code review without testing the implementation first via the Sample App. After testing out the Full Screen functionality, it doesn't quite meet expectations. I expected the For example, here's me tapping the Full Screen button on iOS. It only removes the status bar, expanding the ContentPage. My expectations are for the Full Screen button to make the video full screen like this 👇 (I'm full screen button that is embedded in the video provided by iOS) I appreciate the work you've dedicated so far, and we can likely reuse some of the code, but I recommend that we close #1173. I haven't delved into the topic, but it does appear that we can programmatically make the video full screen. Here's an example for iOS / MacCatalyst: https://stackoverflow.com/a/51618451/5953643 |
I would like to say that it is in fact, hard to add full screen feature to the video player in Android. On Android, the only way to offer full screen if by creating a new full screen activity where we disable the status bar, navigation bars, everything on the screen and when they return back from the activity then show everything again. I found these issues when I did my implementation that is why I rejected my own PR hehehe. However, adding this feature is kind of complex, because you need to validate the settings the user has set on the app and based on that perform the proper actions. For example:
This and more validations are required. It is an interesting feature that sadly Android does not provide out-of-box. However, I believe, we will soon eventually be able to implement it. :) Our learning does not stop here, we continue learning... 👍🏻 Thanks all for looking into this feature! |
Reopening Proposal. Only Proposals moved to the |
I was tracking status bar, nav bar, and a few other things. My implementation was flawed in that it implemented full screen for the page and not the media element. If I had a pr for just the page it would be ok I think. I just was tunnel focused on full screen and did not realize I was implementing the wrong element, ie. the Page and not media element itself. I am going to close the PR now and work on figuring it out again later. Maybe someone will see this and it will help them figure it out. Edit: I can't close it. If someone from the team can help me out I would appreciate it. |
Feature name
MediaElement Full Screen Controls for Windows/Android
Link to discussion
#1123
Progress tracker
Summary
Add full screen / restore screen controls to media element.
Motivation
Adding full screen controls to media element will allow users to better view the video without any UI elements being seen.
It will allows users to set full screen using button and other xaml controls. It can also be used in code behind to allow developers to set it automatically. The expected outcome is a better user experience with less UI elements cluttering the screen while watching video playback.
Example implementation
https://github.com/ne0rrmatrix/Maui/tree/FullScreen
Documentation
Detailed Design
Windows code in AppBuilderExtensions.shared.cs
MediaManager.windows.cs:
MediaManager.android.cs
This is for making full screen or restore screen code. What I need is feedback on the above code and what I should do next. I have an implementation working with the command:
Usage Syntax
Here is an example of Xaml UI:
xaml:
code behind:
Drawbacks
None.
Alternatives
Other designs include not using append mapping and instead using lifecycle events in Windows.
Unresolved Questions
Should we include a UI element or let developers do that themselves? Should we modify or add it to controls UI Element directly?
The text was updated successfully, but these errors were encountered: