我在Visual Studio 2015中创建了一个新的Blank App(Xamarin.Forms Portable)项目,并修改了App.cs以获得“汉堡包菜单”:
public class App : Application
{
public App()
{
var masterPage = new ContentPage()
{
Content = new Label { Text = "Hello from Master!"},
Title = "Master Page"
};
var detailPage = new ContentPage()
{
Content = new Label { Text = "Hello from Detail!" },
Title = "Detail Page"
};
var mainPage = new MasterDetailPage()
{
Master = masterPage,
Detail = detailPage,
Title = "Main Page"
};
// The root page of your application
MainPage = mainPage;
}
. . .
}
一切正常,但我如何自定义这四件事:
1)隐藏/更改箭头
2)隐藏/更改图标
3)隐藏/更改标题文字
4)隐藏整个工具栏
答案 0 :(得分:12)
如果您在DetailPage
内使用NavigationPage
,则可以将箭头更改为汉堡图标:
Detail = new NavigationPage(detailPage);
要更改图标,只需更改项目文件:
或将MasterDetailPage
集Icon
属性设置为其他资源。
如果你想隐藏图标 - 它只适用于Android。它可以使用自定义渲染器(http://developer.xamarin.com/guides/cross-platform/xamarin-forms/custom-renderer/)来解决:
public class CustomNavigationRenderer : NavigationRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<NavigationPage> e)
{
base.OnElementChanged (e);
var actionBar = ((Activity)Context).ActionBar;
actionBar.SetIcon (Resource.Color.transparent);
}
}
修改强> 它也可以在MainActivity.cs中完成:
ActionBar.SetIcon (new ColorDrawable(Resources.GetColor (Android.Resource.Color.Transparent)));
只需在Title
上使用Page
属性。
SetHasNavigationBar(page, false);