我有一个xamarin表单应用程序,该应用程序具有一个选项卡页(如图所示)。它将在 android 设备中显示如下。
您在ios中看到未选择的图标和文本的问题比android对应的问题更暗淡。我实际上通过将这些行放在选项卡页面xaml中来设置android中选中和未选中的图标和文本的颜色。
android:TabbedPage.BarItemColor="#c4c0c0"
android:TabbedPage.BarSelectedItemColor="#ffffff"
现在在ios中,我通过在AppDelegate.cs中添加此行来设置所选颜色
UITabBar.Appearance.SelectedImageTintColor = UIColor.FromRGB(255, 255, 255);
但是如何在ios中调整未选择的图标的颜色和文本的颜色?我应该使用任何自定义渲染吗?
答案 0 :(得分:1)
在最新的4.0预发行版中,有两个适用于iOS和Android的新属性:
Color TabbedPage.UnselectedTabColorProperty { get; set; } //Bindable Property
Color TabbedPage.SelectedTabColorProperty { get; set; } //Bindable Property
在此处拉取请求: https://github.com/xamarin/Xamarin.Forms/pull/4899
对于较旧的版本,必须使用自定义渲染器。例如,这是未选中时获取白色的代码:
TabBar.UnselectedItemTintColor = UIColor.FromRGBA(255, 255, 255, 255);
通常,我在做其他诸如微管理标签栏高度,背景图像,ecc等事情时会在ViewWillLayoutSubviews
覆盖中使用此代码。
public override void ViewWillLayoutSubviews()
{
base.ViewWillLayoutSubviews();
TabBar.UnselectedItemTintColor = UIColor.FromRGBA(255, 255, 255, 255);
//doing other customization stuff here
}