Пример #1
0
        public static void UpdateTextColor(IMaterialTextField textField, IMaterialEntryRenderer element)
        {
            var uIColor = MaterialColors.GetEntryTextColor(element.TextColor);

            textField.ContainerScheme.ColorScheme.OnSurfaceColor = uIColor;
            textField.ContainerScheme.ColorScheme.PrimaryColor   = uIColor;
        }
Пример #2
0
        public static void ApplyTheme(IMaterialTextField textField, IMaterialEntryRenderer element)
        {
            if (element == null)
            {
                return;
            }

            if (textField.ActiveTextInputController == null)
            {
                return;
            }

            textField.ContainerScheme.ColorScheme = (SemanticColorScheme)CreateColorScheme();
            ApplyContainerTheme(textField);

            var textColor         = MaterialColors.GetEntryTextColor(element.TextColor);
            var placeHolderColors = MaterialColors.GetPlaceHolderColor(element.PlaceholderColor, element.TextColor);
            var underlineColors   = MaterialColors.GetUnderlineColor(element.PlaceholderColor);

            textField.TextInput.TextColor = textColor;
            textField.ActiveTextInputController.InlinePlaceholderColor         = placeHolderColors.InlineColor;
            textField.ActiveTextInputController.FloatingPlaceholderNormalColor = placeHolderColors.InlineColor;
            textField.ActiveTextInputController.FloatingPlaceholderActiveColor = placeHolderColors.FloatingColor;

            // BackgroundColor
            textField.ActiveTextInputController.BorderFillColor = MaterialColors.CreateEntryFilledInputBackgroundColor(element.BackgroundColor, element.TextColor);

            textField.ActiveTextInputController.ActiveColor = underlineColors.FocusedColor;
            textField.ActiveTextInputController.NormalColor = underlineColors.UnFocusedColor;
        }
        protected override void UpdateTintColor()
        {
            if (Element.Color != Color.Default)
            {
                base.UpdateTintColor();
                return;
            }

            Control.CheckBoxTintColor = MaterialColors.GetCheckBoxColor(Control.IsChecked, Element.IsEnabled).ToColor();
        }
Пример #4
0
        public static void ApplyTheme(IMaterialTextField textField, IMaterialEntryRenderer element)
        {
            if (element == null)
            {
                return;
            }

            if (textField.ActiveTextInputController == null)
            {
                return;
            }

            textField.ContainerScheme.ColorScheme = (SemanticColorScheme)CreateColorScheme();
            ApplyContainerTheme(textField);

            var adjustedTextColor = AdjustTextColor(element);

            var textColor         = MaterialColors.GetEntryTextColor(adjustedTextColor);
            var placeHolderColors = MaterialColors.GetPlaceHolderColor(element.PlaceholderColor, adjustedTextColor);
            var underlineColors   = MaterialColors.GetUnderlineColor(element.PlaceholderColor);

            textField.TextInput.TextColor = textColor;

            var inputController = textField.ActiveTextInputController;

            inputController.InlinePlaceholderColor         = placeHolderColors.InlineColor;
            inputController.FloatingPlaceholderNormalColor = placeHolderColors.InlineColor;
            inputController.FloatingPlaceholderActiveColor = placeHolderColors.FloatingColor;
            inputController.DisabledColor = placeHolderColors.InlineColor;

            var brush = element.Background;

            if (Brush.IsNullOrEmpty(brush))
            {
                // BackgroundColor
                textField.ActiveTextInputController.BorderFillColor = MaterialColors.CreateEntryFilledInputBackgroundColor(element.BackgroundColor, adjustedTextColor);
            }
            else
            {
                // Background
                if (textField is UITextField || textField is MultilineTextField)
                {
                    var backgroundImage = ((UIView)textField).GetBackgroundImage(brush);
                    textField.BackgroundSize = backgroundImage?.Size;
                    var color = backgroundImage != null?UIColor.FromPatternImage(backgroundImage) : UIColor.Clear;

                    textField.ActiveTextInputController.BorderFillColor = color;
                }
            }
            textField.ActiveTextInputController.ActiveColor = underlineColors.FocusedColor;
            textField.ActiveTextInputController.NormalColor = underlineColors.UnFocusedColor;
        }