gpt4 book ai didi

shell - 如何使用弹出窗口在 xamarin shell 标题中设置背景图像?

转载 作者:行者123 更新时间:2023-12-04 01:33:36 25 4
gpt4 key购买 nike

我正在开发一个 Xamarin.Forms 4 项目,并且我正在使用 App Shell。

我使用的是 Tabbar,多亏了自定义渲染器,我才能将背景图像添加到“标题”

<TabBar>
<Tab
Title="ANALYSIS"
Icon ="chart_icon.png">
<ShellContent
ContentTemplate="{DataTemplate local:Reports.ReportsPage}" />
</Tab>
// other tabs...
</TabBar>

我关注了THIS对于渲染器

我得到了这个

Header with background image

现在我必须添加侧边菜单,我将之前的 AppShell.xaml 代码替换为:

    <FlyoutItem  FlyoutDisplayOptions="AsMultipleItems">
<ShellContent Title="ANALYSIS"
Icon="chart_icon.png"
ContentTemplate="{DataTemplate local:Reports.ReportsPage}" />
//other tabs...
</FlyoutItem>

我明白了: Header flyout without the background image(该图标是临时的,代表汉堡菜单图标🙃)

有没有办法创建渲染器或类似 Tabbar 渲染器的东西?

提前致谢!

最佳答案

根据你的描述,我想你是想为toolbar设置背景图片,而不是tabbar。

自定义渲染器可以做到这一点。

MyShell.cs

 public class MyShell:Shell
{
}

AppShell.xaml.cs 注意:AppShell需要继承MyShell。

 public partial class AppShell : MyShell
{
public AppShell()
{
InitializeComponent();
}
}

MyShellRenderer.cs

[assembly: ExportRenderer(typeof(MyShell), typeof(MyShellRenderer))]
namespace ShellDemo.Droid
{
public class MyShellRenderer : ShellRenderer
{
public MyShellRenderer(Context context) : base(context)
{
}

protected override IShellToolbarAppearanceTracker CreateToolbarAppearanceTracker()
{
return new CustomToolbarAppearanceTracker();
}
}
public class CustomToolbarAppearanceTracker : IShellToolbarAppearanceTracker
{
public void Dispose()
{

}

public void ResetAppearance(Android.Support.V7.Widget.Toolbar toolbar, IShellToolbarTracker toolbarTracker)
{

}

public void SetAppearance(Android.Support.V7.Widget.Toolbar toolbar, IShellToolbarTracker toolbarTracker, ShellAppearance appearance)
{
toolbar.SetBackgroundResource(Resource.Drawable.pink);
}
}
}

enter image description here

关于shell - 如何使用弹出窗口在 xamarin shell 标题中设置背景图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60338755/

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