gpt4 book ai didi

android - 如何在 MasterDetailPage - Xamarin.Forms 中自定义箭头图标、页面图标和页面标题

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:02:34 25 4
gpt4 key购买 nike

我在 Visual Studio 2015 中创建了一个新的空白应用程序 (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) Hide / change Arrow

2) Hide / change Icon

3) Hide / change Title text

4) Hide whole toolbar

MasterDetailPage

最佳答案

  1. 如果您在 NavigationPage 中使用 DetailPage,您可以将箭头更改为汉堡包图标:

    Detail = new NavigationPage(detailPage);
  2. 要更改图标,只需更改项目文件:

    • YourProject/Resources/drawable/icon.png
    • YourProject/Resources/drawable-hdpi/icon.png
    • YourProject/Resources/drawable-xhdpi/icon.png
    • YourProject/Resources/drawable-xxhdpi/icon.png

    或在您的 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)));
  3. 只需在 Page 上使用 Title 属性即可。

  4. SetHasNavigationBar(page, false);

关于android - 如何在 MasterDetailPage - Xamarin.Forms 中自定义箭头图标、页面图标和页面标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31709022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com