我有一个 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中调整未选中图标的颜色和文本颜色?我应该使用任何自定义渲染吗?
在最新的 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);
通常我ViewWillLayoutSubviews
在做其他事情时会在覆盖中使用此代码,例如微管理标签栏高度、背景图像、ecc ......
public override void ViewWillLayoutSubviews()
{
base.ViewWillLayoutSubviews();
TabBar.UnselectedItemTintColor = UIColor.FromRGBA(255, 255, 255, 255);
//doing other customization stuff here
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句