Since Xamarin.Forms 3.1 a TabbedPage.BarSelectedItemColor property has been introduced and we can simply use it to achieve our goal.
XAML:
C#:
iOS
Unfortunately on iOS we have to implement the solution ourselves. Luckily there is a TintColor property on a UITabBar that we can use.
The solution
We will create an Effect using the knowledge listed above. The effect will have a single AttachedProperty which will represent the selected tab tint color:
Next we will create the RoutingEffect:
Here is the Android implementation:
Here is the iOS implementation:
In both cases we are monitoring SelectedTabTintColorProperty for changes and once changed simply applying a new TintColor.
Now we can just add the effect to our TabbedPage and change the tint color for example OnCurrentPageChanged so each tab will have its own tint color.