Пример #1
0
        public static void UpdateTextColor(this AppCompatEditText editText, ITextStyle entry, ColorStateList?defaultColor)
        {
            var textColor = entry.TextColor;

            if (textColor.IsDefault)
            {
                editText.SetTextColor(defaultColor);
            }
            else
            {
                var androidColor = textColor.ToNative();

                if (!editText.TextColors.IsOneColor(ColorStates, androidColor))
                {
                    var acolor = androidColor.ToArgb();
                    editText.SetTextColor(new ColorStateList(ColorStates, new[] { acolor, acolor }));
                }
            }
        }
        public static void UpdateTextColor(this AppCompatEditText editText, Graphics.Color textColor, ColorStateList?defaultColor)
        {
            if (textColor == null)
            {
                if (defaultColor != null)
                {
                    editText.SetTextColor(defaultColor);
                }
            }
            else
            {
                var androidColor = textColor.ToNative();

                if (!editText.TextColors.IsOneColor(ColorStates, androidColor))
                {
                    var acolor = androidColor.ToArgb();
                    editText.SetTextColor(new ColorStateList(ColorStates, new[] { acolor, acolor }));
                }
            }
        }
        void InitControls()
        {
            var font = Font.OfSize(entry.FontFamily, entry.FontSize);

            font.WithAttributes(entry.FontAttributes);
            layout = new TextInputLayout(Context);
            layout.LayoutParameters = new LayoutParams(LayoutParams.MatchParent, LayoutParams.WrapContent);
            layout.Hint             = entry.Placeholder;
            layout.Typeface         = font.ToTypeface();

            editText = new AppCompatEditText(Context);
            var editTextParams = new LinearLayout.LayoutParams(LayoutParams.MatchParent, LayoutParams.WrapContent);

            editText.LayoutParameters = editTextParams;
            editText.Typeface         = font.ToTypeface();
            editText.SetTextColor(entry.TextColor.ToAndroid());
            layout.AddView(editText);
            SetInputTextLayoutColor(layout, entry.LabelColor.ToAndroid());
        }