Xamarin.forms 如何使ContentPage全屏显示?
在Xamarin.Forms 1.3+中,如何制作Xamarin.forms 如何使ContentPage全屏显示?,xamarin.forms,Xamarin.forms,在Xamarin.Forms 1.3+中,如何制作ContentPage全屏? ContentPage最基本的示例是创建Xamarin.Forms可移植项目时提供的示例 public App (){ // The root page of your application MainPage = new ContentPage { Content = new StackLayout { VerticalOptions = LayoutOpti
ContentPage
全屏?
ContentPage
最基本的示例是创建Xamarin.Forms可移植项目时提供的示例
public App (){
// The root page of your application
MainPage = new ContentPage {
Content = new StackLayout {
VerticalOptions = LayoutOptions.Center,
Children = {
new Label {
XAlign = TextAlignment.Center,
Text = "Welcome to Xamarin Forms!"
}
}
}
};
}
更多信息(Android):您的内容页面是全屏的。只有ContentPage中的内容不会填满整个屏幕
您可以尝试以下方法:
您的内容页是全屏的。您可以通过更改内容页的背景色进行检查。请尝试以下代码
BackgroundColor=Color.White制作全屏的第一步是隐藏导航栏。这可以在导航到视图时进行控制
FullScreenVideoPlayerPage fullScreenVideoPage = new FullScreenVideoPlayerPage();
NavigationPage.SetHasNavigationBar(fullScreenVideoPage, false);
await Navigation.PushAsync(fullScreenVideoPage);
当使用wait时,请记住在方法签名中使用async关键字
private async void FullScreenVideoPlayerPage_Clicked(object sender, EventArgs e)
第二步是隐藏Android状态栏。但这似乎不是Android的标准配置。我没有完全成功地完全隐藏这个酒吧。但我可以通过以下方式隐藏状态图标:
using Android.App;
using Android.Views;
//......
// Call this method from the constructor after InitializeComponent ();
public void HideStatusBar()
{
var activity = (Activity)Forms.Context;
var window = activity.Window;
var attrs = window.Attributes;
attrs.Flags |= Android.Views.WindowManagerFlags.Fullscreen;
window.Attributes = attrs;
window.ClearFlags(WindowManagerFlags.ForceNotFullscreen);
window.AddFlags(WindowManagerFlags.Fullscreen);
var decorView = window.DecorView;
var uiOptions =
(int)Android.Views.SystemUiFlags.LayoutStable |
(int)Android.Views.SystemUiFlags.LayoutHideNavigation |
(int)Android.Views.SystemUiFlags.LayoutFullscreen |
(int)Android.Views.SystemUiFlags.HideNavigation |
(int)Android.Views.SystemUiFlags.Fullscreen |
(int)Android.Views.SystemUiFlags.Immersive;
decorView.SystemUiVisibility = (Android.Views.StatusBarVisibility)uiOptions;
window.DecorView.SystemUiVisibility = StatusBarVisibility.Hidden;
}
我刚试过,但它没有全屏显示。以下是关于Android上真正全屏的更多信息,作为示例。应该没有标题栏来隐藏你可以使用的标题栏。MainMenuPage MainMenuPage=新的MainMenuPage();NavigationPage.SetHasNavigationBar(mainMenuPage,false);wait Navigation.PushAsync(mainMenuPage);真正的全屏不会显示标题栏和通知栏(时间在哪里)。您的代码可以正常工作,但不像上一个链接中显示的真正的Android全屏。图1是正常的,图3是真实的全屏:
using Android.App;
using Android.Views;
//......
// Call this method from the constructor after InitializeComponent ();
public void HideStatusBar()
{
var activity = (Activity)Forms.Context;
var window = activity.Window;
var attrs = window.Attributes;
attrs.Flags |= Android.Views.WindowManagerFlags.Fullscreen;
window.Attributes = attrs;
window.ClearFlags(WindowManagerFlags.ForceNotFullscreen);
window.AddFlags(WindowManagerFlags.Fullscreen);
var decorView = window.DecorView;
var uiOptions =
(int)Android.Views.SystemUiFlags.LayoutStable |
(int)Android.Views.SystemUiFlags.LayoutHideNavigation |
(int)Android.Views.SystemUiFlags.LayoutFullscreen |
(int)Android.Views.SystemUiFlags.HideNavigation |
(int)Android.Views.SystemUiFlags.Fullscreen |
(int)Android.Views.SystemUiFlags.Immersive;
decorView.SystemUiVisibility = (Android.Views.StatusBarVisibility)uiOptions;
window.DecorView.SystemUiVisibility = StatusBarVisibility.Hidden;
}