gpt4 book ai didi

android - 使用 ResourceDictionary 动态更改 Tabbar 颜色

转载 作者:行者123 更新时间:2023-11-30 00:03:56 31 4
gpt4 key购买 nike

实际上我的应用有 2 个主题(粉色和蓝色),由 App.xaml 中的 ResourceDictionary 处理

在设置页面中切换开关以编程方式更改 ResourceDictionary 的值,并根据需要更改元素(背景、文本颜色等)。这可能不是最漂亮的方式,但它确实有效..

但我在更改 android 中 Tabbar 的背景颜色时遇到问题。

enter image description here

它的颜色值在Android工程中设置(colorPrimary来自styles.xml和Tabbar.axml)。

可是我找不到

  • 如何从我的 PCL 项目更改或访问此值。
  • 或者如何在 Android 项目中更改 colorPrimary 的值每次更改设置开关值时。
  • 或者,最好的解决方案是使标签栏透明并使其成为重叠当前背景(如果我设置 Color.Transparent 它只是现在变白了)

选项卡式页面代码由 Xamarin 表单项目创建。

public MainPage()
{
Page centerPage, rightPage, leftPage;

string TitleCenter = "S'exercer";
string TitleLeft = "Comprendre";
string TitleRight = "Aller plus loin";

switch (Device.RuntimePlatform)
{
case Device.iOS:
centerPage = new NavigationPage(new Center_Main())
{
Title = TitleCenter
};

rightPage = new NavigationPage(new Right_Main())
{
Title = TitleRight
};
leftPage = new NavigationPage(new Left_Main())
{
Title = TitleLeft
};
centerPage.Icon = "tab_feed.png";
rightPage.Icon = "tab_about.png";
leftPage.Icon = "offline_logo.png";
break;

default:
centerPage = new Center_Main()
{
Title = TitleCenter
// Nothing tab related here
};

rightPage = new Right_Main()
{
Title = TitleRight
};

leftPage = new Left_Main()
{
Title = TitleLeft
};

break;
}

谢谢

最佳答案

使用 Xaml 是这样的:

<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" BarBackgroundColor="your_Color"></Tabbedpage>

以编程方式:

 TabbedPage page=new Tabbedpage(){ BarBackgroundColor=Color.Blue};

您可以在 tabbedPage 构造函数中执行以下操作:

 public MainPage()
{
BarBackgroundColor=Color.Blue;
}

注意:可以与静态资源一起使用,只需将其放在颜色名称的位置即可。

类似这样的东西

<... BarBackgroundColor={StaticResource color_name}>

关于android - 使用 ResourceDictionary 动态更改 Tabbar 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49369118/

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