void ApplyTheme()
		{
			if (_textInputLayout == null)
				return;

			// set text color
			var textColor = MaterialColors.GetEntryTextColor(Element.TextColor);
			UpdateTextColor(Color.FromUint((uint)textColor.ToArgb()));

			var placeHolderColors = MaterialColors.GetPlaceHolderColor(Element.PlaceholderColor, Element.TextColor);
			var underlineColors = MaterialColors.GetUnderlineColor(Element.TextColor);

			var colors = MaterialColors.CreateEntryUnderlineColors(underlineColors.FocusedColor, underlineColors.UnFocusedColor);

			ViewCompat.SetBackgroundTintList(_textInputEditText, colors);

						
			if (HasFocus || !string.IsNullOrWhiteSpace(_textInputEditText.Text))
				_textInputLayout.DefaultHintTextColor = MaterialColors.CreateEntryFilledPlaceholderColors(placeHolderColors.FloatingColor, placeHolderColors.FloatingColor);
			else
				_textInputLayout.DefaultHintTextColor = MaterialColors.CreateEntryFilledPlaceholderColors(placeHolderColors.InlineColor, placeHolderColors.FloatingColor);
		}
        void ResetTextColors(Color formsTextColor, Color formsPlaceHolderColor)
        {
            _formsPlaceholderColor = formsPlaceHolderColor;
            _formsTextColor        = formsTextColor;

            var underlineColors   = MaterialColors.GetUnderlineColor(_formsTextColor);
            var placeHolderColors = MaterialColors.GetPlaceHolderColor(_formsPlaceholderColor, _formsTextColor);

            // I realize these are the same but I have to set it to a difference instance
            // otherwise when focused it won't change to the color I want it to and it'll just think
            // I'm not actually changing anything
            _unfocusedUnderlineColorsList = MaterialColors.CreateEntryUnderlineColors(underlineColors.FocusedColor, underlineColors.UnFocusedColor);
            _focusedUnderlineColorsList   = MaterialColors.CreateEntryUnderlineColors(underlineColors.FocusedColor, underlineColors.UnFocusedColor);

            _focusedFilledColorList  = MaterialColors.CreateEntryFilledPlaceholderColors(placeHolderColors.FloatingColor, placeHolderColors.FloatingColor);
            _unfocusedEmptyColorList = MaterialColors.CreateEntryFilledPlaceholderColors(placeHolderColors.InlineColor, placeHolderColors.FloatingColor);


            var textColor = MaterialColors.GetEntryTextColor(formsTextColor).ToArgb();

            EditText.SetTextColor(new ColorStateList(s_colorStates, new[] { textColor, textColor }));
        }