summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.Android/AppCompat
diff options
context:
space:
mode:
authorSamantha Houts <samantha@teamredwall.com>2016-05-27 10:51:59 -0700
committerJason Smith <jason.smith@xamarin.com>2016-05-27 10:51:59 -0700
commitf5bb474590add36bbf45b5455c7271a85eb7feda (patch)
tree2ca477fbffc3bd46732e728e14b88f41eb3fea28 /Xamarin.Forms.Platform.Android/AppCompat
parent31ba696514f9b069d5dd6a8520d4f9f2ef963f74 (diff)
downloadxamarin-forms-f5bb474590add36bbf45b5455c7271a85eb7feda.tar.gz
xamarin-forms-f5bb474590add36bbf45b5455c7271a85eb7feda.tar.bz2
xamarin-forms-f5bb474590add36bbf45b5455c7271a85eb7feda.zip
[A] TabbedPage text can be set back to Default (#157)
Diffstat (limited to 'Xamarin.Forms.Platform.Android/AppCompat')
-rw-r--r--Xamarin.Forms.Platform.Android/AppCompat/TabbedPageRenderer.cs18
1 files changed, 14 insertions, 4 deletions
diff --git a/Xamarin.Forms.Platform.Android/AppCompat/TabbedPageRenderer.cs b/Xamarin.Forms.Platform.Android/AppCompat/TabbedPageRenderer.cs
index 8af824ce..4bd54906 100644
--- a/Xamarin.Forms.Platform.Android/AppCompat/TabbedPageRenderer.cs
+++ b/Xamarin.Forms.Platform.Android/AppCompat/TabbedPageRenderer.cs
@@ -17,6 +17,7 @@ namespace Xamarin.Forms.Platform.Android.AppCompat
public class TabbedPageRenderer : VisualElementRenderer<TabbedPage>, TabLayout.IOnTabSelectedListener, ViewPager.IOnPageChangeListener, IManageFragments
{
Drawable _backgroundDrawable;
+ int? _defaultColor;
bool _disposed;
FragmentManager _fragmentManager;
TabLayout _tabLayout;
@@ -153,7 +154,7 @@ namespace Xamarin.Forms.Platform.Android.AppCompat
tabs = _tabLayout = new TabLayout(activity) { TabMode = TabLayout.ModeFixed, TabGravity = TabLayout.GravityFill };
FormsViewPager pager =
_viewPager =
- new FormsViewPager(activity)
+ new FormsViewPager(activity)
{
OverScrollMode = OverScrollMode.Never,
EnableGesture = UseAnimations,
@@ -364,9 +365,18 @@ namespace Xamarin.Forms.Platform.Android.AppCompat
if (_disposed || _tabLayout == null)
return;
- Color textColor = Element.BarTextColor;
- if (!textColor.IsDefault)
- _tabLayout.SetTabTextColors(textColor.ToAndroid().ToArgb(), textColor.ToAndroid().ToArgb());
+ int currentColor = _tabLayout.TabTextColors.DefaultColor;
+
+ if (!_defaultColor.HasValue)
+ _defaultColor = currentColor;
+
+ Color newTextColor = Element.BarTextColor;
+ int newTextColorArgb = newTextColor.ToAndroid().ToArgb();
+
+ if (!newTextColor.IsDefault && currentColor != newTextColorArgb)
+ _tabLayout.SetTabTextColors(newTextColorArgb, newTextColorArgb);
+ else if (newTextColor.IsDefault && _defaultColor.HasValue && currentColor != _defaultColor)
+ _tabLayout.SetTabTextColors(_defaultColor.Value, _defaultColor.Value);
}
}
} \ No newline at end of file