xamarin 更改TabbedPage图标颜色

vkc1a9a2  于 2023-10-14  发布在  其他
关注(0)|答案(1)|浏览(120)

我正在用**.NET MAUI开发一个移动的软件,我的客户要求我更改导航栏的图标和背景颜色。
但我的问题是:我无法更改页面中图标的颜色-我尝试在
styles.xml**、ContentPage标签上更改,并使用具有所需颜色的图像。但它总是停留在这个灰色的图标。
有没有什么东西可以改变这个颜色?
这是我的酒吧:

这就是我在代码中试图改变的:
主页

<!-- The color of the icone_home is already white -->
    <ContentPage Title="Início" 
                 BackgroundColor="#F1F1F1" 
                 IconImageSource="icone_home.png" 
                 Shell.TabBarTitleColor="Red" 
                 Shell.TabBarBackgroundColor="Red" 
                 Shell.TabBarDisabledColor="Red" 
                 Shell.TabBarForegroundColor="Red" 
                 Shell.TabBarUnselectedColor="Red">
        ...
    </ContentPage>

Styles.xaml

<!-- Yes, I`ve changed all the colors to test each one -->
<Style TargetType="TabbedPage">
        <Setter Property="BarBackgroundColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource White}}" />
        <Setter Property="BarTextColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource White}}" />
        <Setter Property="UnselectedTabColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource White}}" />
        <Setter Property="SelectedTabColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource White}}" />
    </Style>

    <!-- Did the same thing for NAVIGATION PAGE and SHELL -->

我该在哪儿换车?此应用程序仅适用于iOS。
谢谢你,谢谢

j13ufse2

j13ufse21#

关于 Icons,你可以尝试使用FontImageSource(例如在app.xaml中)。

<FontImageSource
            x:Key="SearchImageSource"
            FontFamily="FASolid"
            Glyph="{Static fonts:FontAwesomeIcons.MagnifyingGlass}"
            Size="22"
            Color="{AppThemeBinding Dark={StaticResource DarkFontColor},
                                    Light={StaticResource LightFontColor}}"

 />

在您的AppShell中使用

<ShellContent
    Title="Search"
    ContentTemplate="{DataTemplate views:SearchView}"
    Icon="{StaticResource SearchImageSource}"
    Route="SearchView" />

或者如果使用TabbedPage

<NavigationPage Title="Two" IconImageSource="{StaticResource SearchImageSource}">
    <x:Arguments>
        <views:SearchView Title="Search" />
    </x:Arguments>
</NavigationPage>

关于更新HTML页面的字体颜色,请参阅TabbedPage的文档

SelectedTabColor,颜色类型,表示选项卡被选中时的颜色。UnselectedTabColor,颜色类型,表示选项卡被选中时的颜色。

<TabbedPage
    x:Class="MauiTest.Views.TestTabbedPage"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
    SelectedTabColor="Red"
    UnselectedTabColor="Azure">

.和 shell 选项卡外观

TabBarForegroundColor,Color类型,定义标签栏的前景色。如果未设置该属性,则使用ForegroundColor属性值。TabBarUnselectedColor,Color类型,定义标签栏的颜色。如果属性未设置,则使用UnselectedColor属性值。

<Shell.Resources>
    <Style TargetType="TabBar">
        <Setter Property="Shell.TabBarBackgroundColor" Value="LightPink" />
        <Setter Property="Shell.TabBarForegroundColor" Value="White" />
        <Setter Property="Shell.TabBarUnselectedColor" Value="DeepPink" />
    </Style>
</Shell.Resources>

相关问题