C# 更改工具栏项的可见性或文本大小
我有一个底部C# 更改工具栏项的可见性或文本大小,c#,xaml,xamarin,xamarin.forms,C#,Xaml,Xamarin,Xamarin.forms,我有一个底部选项卡页面,它总是按照我想要的方式工作,但是随着Xamarin.Forms更新到4.7版,这些项目显示了标题,从而打破了布局 我想知道一个方法,回到以前的方式,或者缩小标题的大小 我在Stack Overflow尝试了其他解决方案,但没有成功 在Xamarin之前。表单更新: 在Xamarin之后。表单更新: 选项卡页.xaml <?xml version="1.0" encoding="utf-8" ?> <Tabbed
选项卡页面
,它总是按照我想要的方式工作,但是随着Xamarin.Forms更新到4.7版,这些项目显示了标题,从而打破了布局
我想知道一个方法,回到以前的方式,或者缩小标题的大小
我在Stack Overflow尝试了其他解决方案,但没有成功
在Xamarin之前。表单更新:
在Xamarin之后。表单更新:
选项卡页.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:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core"
xmlns:home="clr-namespace:BaseApp.Views.Home"
xmlns:pdv="clr-namespace:BaseApp.Views.Pdv"
xmlns:historico="clr-namespace:BaseApp.Views.Historico"
xmlns:notificacoes="clr-namespace:BaseApp.Views.Notificacao"
xmlns:config="clr-namespace:BaseApp.Views.Configuracao"
xmlns:plugin="clr-namespace:Plugin.Badge.Abstractions;assembly=Plugin.Badge.Abstractions"
x:Class="BaseApp.Views.TabbedPage.TabbedPage"
android:TabbedPage.ToolbarPlacement="Bottom"
android:TabbedPage.BarItemColor="{StaticResource CorItemBarra}"
BarTextColor="{StaticResource CorBranco}"
BackgroundColor="{StaticResource CorBranco}"
BarBackgroundColor="{StaticResource CorPretoBarra}"
NavigationPage.HasNavigationBar="False">
<NavigationPage Title="INÍCIO" IconImageSource="{StaticResource ImagemIconeHome}">
<x:Arguments>
<home:HomePage />
</x:Arguments>
</NavigationPage>
<pdv:Pdv Title="PDVs" IconImageSource="{StaticResource ImagemIconePdv}" />
<historico:Historico Title="HISTÓRICO" IconImageSource="{StaticResource ImagemIconeHistorico}" />
<notificacoes:Notificacao Title="NOTIFICAÇÕES"
IconImageSource="{StaticResource ImagemIconeNotification}"
plugin:TabBadge.BadgeColor="Red"
plugin:TabBadge.BadgePosition="PositionTopRight"
plugin:TabBadge.BadgeTextColor="White" />
<config:Configuracoes Title="CONFIGURAÇÕES" IconImageSource="{StaticResource ImagemIconeConfig}" />
</TabbedPage>
TabbedPage.xaml.cs
using BaseApp.Services;
using BaseApp.Util;
using Plugin.Badge.Abstractions;
using System;
using System.Linq;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
namespace BaseApp.Views.TabbedPage
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class TabbedPage : Xamarin.Forms.TabbedPage
{
public TabbedPage()
{
InitializeComponent();
MessagingCenter.Subscribe<MessageHome>(this, "AddItemTabbedPageRota", message =>
{
var pages = Children.GetEnumerator();
pages.MoveNext(); // First page
pages.MoveNext(); // Second page
CurrentPage = pages.Current;
});
MessagingCenter.Subscribe<MessageDateHora>(this, "AddItemInformeValidaData", async message =>
{
DateTime result = await ValidaDataEHora.ObterDataAsync();
//if (Convert.ToBoolean(Application.Current.Properties["UserDataEHoraErrada"]) == true)
// throw new TaskCanceledException(teste);
if (result != null)
Funcoes.ComparaData(result);
});
// Adiciona o número de notificações que não foram visualizadas
if (Sessao.QuantidadeNotificacoesNaoLidas > 0)
{
Page telaNotificacao = Children.FirstOrDefault(page => page is Notificacao.Notificacao);
TabBadge.SetBadgeText(telaNotificacao, Sessao.QuantidadeNotificacoesNaoLidas.ToString());
}
}
}
}
使用BaseApp.Services;
使用BaseApp.Util;
使用Plugin.Badge.abstraction;
使用制度;
使用System.Linq;
使用Xamarin.Forms;
使用Xamarin.Forms.Xaml;
命名空间BaseApp.Views.TabbedPage
{
[XamlCompilation(XamlCompilationOptions.Compile)]
公共分部类选项卡页:Xamarin.Forms.TabbedPage
{
公共选项卡页()
{
初始化组件();
订阅(此“AddItemTablePageRota”,消息=>
{
var pages=Children.GetEnumerator();
pages.MoveNext();//第一页
pages.MoveNext();//第二页
CurrentPage=pages.Current;
});
订阅(此“AddItemInformeValidaData”,异步消息=>
{
DateTime结果=等待ValidaDataEHora.ObterDataAsync();
//if(Convert.ToBoolean(Application.Current.Properties[“UserDataEHoraErrada”])==true)
//抛出新TaskCanceledException(teste);
如果(结果!=null)
函数。可比数据(结果);
});
//阿迪西奥纳·奥努梅罗(Adiciona oúmero de notificações que não foram visualizadas)
如果(Sessao.QuantidadeNotificacoesNaoLidas>0)
{
Page telaNotificacao=Children.FirstOrDefault(Page=>Page为Notificacao.Notificacao);
TabBadge.SetBadgeText(telanotificao,Sessao.QuantidadeNotificacoesNaoLidas.ToString());
}
}
}
}
您能给我们分享一个最小的、可复制的示例吗?TabbedPage的默认行为是,无论Xamarin.forms的版本是什么,都会同时显示图标和标题。您是否使用任何第三方库?我正在使用库来显示通知计数器标记,它被称为Plugin.badge
,我用新信息编辑了问题。非常感谢:)仍然需要一个最小的、可复制的示例,因为我无法在第一个使用TabbedPage的屏幕截图中获得结果。我不明白。我还需要发布什么?当我使用低于4.7版本的Xamarin.forms时,选项卡页面的工作原理与第二个屏幕截图相同,而不是第一个屏幕截图。你能给我们分享一个最小的、可复制的示例吗?TabbedPage的默认行为是,无论Xamarin.forms的版本是什么,都会同时显示图标和标题。您是否使用任何第三方库?我正在使用库来显示通知计数器标记,它被称为Plugin.badge
,我用新信息编辑了问题。非常感谢:)仍然需要一个最小的、可复制的示例,因为我无法在第一个使用TabbedPage的屏幕截图中获得结果。我不明白。我还需要发布什么?当我使用低于4.7版本的Xamarin.forms时,选项卡页面的工作原理与第二个屏幕截图相同,而不是第一个屏幕截图。