Xamarin Forms 中的徽章计数器不起作用
Badge counter in Xamarin Forms not working
我正在使用此 Plugin 在 Xamarin Forms 应用的选项卡式视图中显示徽章计数。
Xaml代码
<?xml version="1.0" encoding="utf-8"?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:d="http://xamarin.com/schemas/2014/forms/design"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"
xmlns:plugin="clr-namespace:Plugin.Badge.Abstractions;assembly=Plugin.Badge.Abstractions"
xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core" android:TabbedPage.ToolbarPlacement="Bottom"
SelectedTabColor="{StaticResource HighlightText}" BarBackgroundColor="{StaticResource HighlightBg}" UnselectedTabColor="Gray"
xmlns:views="clr-namespace:Sello.Views" x:Class="Sello.Views.MainPage" >
<TabbedPage.Children>
<NavigationPage Title="Home" IconImageSource="home.png">
<x:Arguments>
<views:HomePage />
</x:Arguments>
</NavigationPage>
<NavigationPage Title="Search" IconImageSource="search.png">
<x:Arguments>
<views:AboutPage />
</x:Arguments>
</NavigationPage>
<NavigationPage Title="Cart" IconImageSource="cart.png"
plugin:TabBadge.BadgeText= "2"
plugin:TabBadge.BadgeColor="Red"
plugin:TabBadge.BadgeTextColor="White" plugin:TabBadge.BadgePosition="PositionCenter" >
<x:Arguments>
<views:AboutPage />
</x:Arguments>
</NavigationPage>
<NavigationPage Title="Account" IconImageSource="account.png">
<x:Arguments>
<views:AccountPage />
</x:Arguments>
</NavigationPage>
</TabbedPage.Children>
</TabbedPage>
也如 plugin doucmentation 中所述
在 AssemblyInfo.cs
中添加了以下行
[assembly: ExportRenderer(typeof(TabbedPage), typeof(BadgedTabbedPageRenderer))]
添加此行时,显示以下错误消息
The type or namespace name 'ExportRenderer' could not be found (are
you missing a using directive or an assembly reference?)
所以当我评论上面的行时,应用程序运行没有错误,但徽章没有显示。为了进行测试,我尝试在另一个测试应用程序上实现相同的功能,但也没有用。
请帮我解决这个问题。
The type or namespace name 'ExportRenderer' could not be found (are
you missing a using directive or an assembly reference?)
正如错误告诉您的那样,您缺少 using 指令。添加此内容(将 Android 项目的 iOS 更改为 Android)
using Plugin.Badge.iOS;
您还需要确保您是在平台项目(iOS、Android 等)而不是共享表单项目中执行此操作
查看 sample project 示例
我正在使用此 Plugin 在 Xamarin Forms 应用的选项卡式视图中显示徽章计数。
Xaml代码
<?xml version="1.0" encoding="utf-8"?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:d="http://xamarin.com/schemas/2014/forms/design"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"
xmlns:plugin="clr-namespace:Plugin.Badge.Abstractions;assembly=Plugin.Badge.Abstractions"
xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core" android:TabbedPage.ToolbarPlacement="Bottom"
SelectedTabColor="{StaticResource HighlightText}" BarBackgroundColor="{StaticResource HighlightBg}" UnselectedTabColor="Gray"
xmlns:views="clr-namespace:Sello.Views" x:Class="Sello.Views.MainPage" >
<TabbedPage.Children>
<NavigationPage Title="Home" IconImageSource="home.png">
<x:Arguments>
<views:HomePage />
</x:Arguments>
</NavigationPage>
<NavigationPage Title="Search" IconImageSource="search.png">
<x:Arguments>
<views:AboutPage />
</x:Arguments>
</NavigationPage>
<NavigationPage Title="Cart" IconImageSource="cart.png"
plugin:TabBadge.BadgeText= "2"
plugin:TabBadge.BadgeColor="Red"
plugin:TabBadge.BadgeTextColor="White" plugin:TabBadge.BadgePosition="PositionCenter" >
<x:Arguments>
<views:AboutPage />
</x:Arguments>
</NavigationPage>
<NavigationPage Title="Account" IconImageSource="account.png">
<x:Arguments>
<views:AccountPage />
</x:Arguments>
</NavigationPage>
</TabbedPage.Children>
</TabbedPage>
也如 plugin doucmentation 中所述 在 AssemblyInfo.cs
中添加了以下行[assembly: ExportRenderer(typeof(TabbedPage), typeof(BadgedTabbedPageRenderer))]
添加此行时,显示以下错误消息
The type or namespace name 'ExportRenderer' could not be found (are you missing a using directive or an assembly reference?)
所以当我评论上面的行时,应用程序运行没有错误,但徽章没有显示。为了进行测试,我尝试在另一个测试应用程序上实现相同的功能,但也没有用。 请帮我解决这个问题。
The type or namespace name 'ExportRenderer' could not be found (are you missing a using directive or an assembly reference?)
正如错误告诉您的那样,您缺少 using 指令。添加此内容(将 Android 项目的 iOS 更改为 Android)
using Plugin.Badge.iOS;
您还需要确保您是在平台项目(iOS、Android 等)而不是共享表单项目中执行此操作
查看 sample project 示例