gpt4 book ai didi

c# - 在 Xamarin 中更改单页的导航栏颜色

转载 作者:行者123 更新时间:2023-12-04 15:02:23 25 4
gpt4 key购买 nike

在我的 Xamarin 应用程序中,我在 styles.xml 中设置了导航栏(状态栏/顶部栏)的颜色页。并且所有页面导航栏颜色变为白色 .
样式.xml

<?xml version="1.0" encoding="utf-8" ?>
<resources>

<style name="MainTheme" parent="MainTheme.Base">
</style>
<!-- Base theme applied no matter what API -->
<style name="MainTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- colorPrimaryDark is used for the status bar -->
<item name="colorPrimaryDark">#FFFFFF</item>
</style>

</resources>
现在,我只想将单个内容页面中导航栏的颜色更改为 黑色 .
我关注了这个 answer通过在内容页面中粘贴代码,但颜色没有改变。
((NavigationPage)Application.Current.MainPage).BarBackgroundColor = Color.Black;
((NavigationPage)Application.Current.MainPage).BarTextColor = Color.Black;
更新
enter image description here

最佳答案

尝试这个,
在所有页面的 App.xaml 中

<Application.Resources>
<ResourceDictionary>


<Style TargetType="NavigationPage">
<Setter Property="BarBackgroundColor" Value="White"/>
<Setter Property="BarTextColor" Value="Black" />

</Style>

</ResourceDictionary>
</Application.Resources>
在让我们说第 2 页的颜色为黑色,然后再次使用 OnDisappearing White
 public partial class Page2 : ContentPage
{
public Page2()
{
InitializeComponent();
}

protected override void OnAppearing()
{
base.OnAppearing();
var navigationPage = Application.Current.MainPage as NavigationPage;
navigationPage.BarBackgroundColor = Color.Black;
}

private async void Button_Clicked(object sender, EventArgs e)
{
await Navigation.PushAsync(new Page2DetailsPage());
}

protected override void OnDisappearing()
{
base.OnDisappearing();

var navigationPage = Application.Current.MainPage as NavigationPage;
navigationPage.BarBackgroundColor = Color.White;
}

关于c# - 在 Xamarin 中更改单页的导航栏颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66751334/

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