我想更改Xamarin Forms中的页面,为此我已经读过你需要使用NavigationPage作为根页面。我的问题是我无法摆脱顶部的导航栏。我尝试过使用SetHasNavigationBar,但它似乎无法正常工作
public App ()
{
NavigationPage mypage = new NavigationPage (new PageOne ());
NavigationPage.SetHasNavigationBar (mypage, false);
MainPage = mypage;
}
结果:http://i870.photobucket.com/albums/ab261/j0sht/prob_zps4bmxtyvb.png
正如您从图像中看到的那样,顶部仍然有一个带有图标的栏
由于
答案 0 :(得分:4)
我相信你必须在内页上调用NavigationPage.SetHasNavigationBar(),而不是在NavigationPage(你的情况下是mypage)中尝试执行以下操作:
var pageOne = new PageOne();
NavigationPage.SetHasNavigationBar (pageOne, false);
NavigationPage mypage = new NavigationPage (pageOne);
MainPage = mypage;
编辑如何消除Android上加载屏幕上的导航栏(基本上设置一个带有简单图像背景的虚拟启动页面,并在加载时重定向到您的真实主要活动(此时Xamarin Forms接管):
[Activity(MainLauncher = true, NoHistory = true, Theme = "@style/Theme.Splash",
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class SplashScreen : Activity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
var intent = new Intent(this, typeof(MainActivity));
StartActivity(intent);
}
}
和启动画面的主题:
<style name="Theme.Splash" parent="android:Theme">
<item name="android:windowBackground">@drawable/splashscreen</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowIsFloating">false</item>
<item name="android:backgroundDimEnabled">true</item>
</style>