public static void UpdateBarTextColor(this AToolbar nativeToolbar, Toolbar toolbar) { var textColor = toolbar.BarTextColor; // Because we use the same toolbar across multiple navigation pages (think tabbed page with nested NavigationPage) // We need to reset the toolbar text color to the default color when it's unset if (_defaultTitleTextColor == null) { var a = TintTypedArray.ObtainStyledAttributes(nativeToolbar.Context?.GetThemedContext(), null, Resource.Styleable.Toolbar, Resource.Attribute.toolbarStyle, 0); _defaultTitleTextColor = a.GetColorStateList(Resource.Styleable.Toolbar_titleTextColor); a.Recycle(); } if (textColor != null) { nativeToolbar.SetTitleTextColor(textColor.ToPlatform().ToArgb()); } else { nativeToolbar.SetTitleTextColor(_defaultTitleTextColor); } if (nativeToolbar.NavigationIcon is DrawerArrowDrawable icon) { if (textColor != null) { _defaultNavigationIconColor = icon.Color; icon.Color = textColor.ToPlatform().ToArgb(); } else if (_defaultNavigationIconColor != null) { icon.Color = _defaultNavigationIconColor.Value; } } }
protected override void SetupDefaults(MauiPicker nativeView) { base.SetupDefaults(nativeView); DefaultBackground = nativeView.Background; DefaultTitleColors = nativeView.HintTextColors; }
protected override void SetupDefaults(AppCompatEditText nativeView) { base.SetupDefaults(nativeView); DefaultTextColors = nativeView.TextColors; DefaultPlaceholderTextColors = nativeView.HintTextColors; }
protected override AppCompatEditText CreateNativeView() { var nativeEntry = new AppCompatEditText(Context); _defaultPlaceholderColors = nativeEntry.HintTextColors; return(nativeEntry); }
public static bool IsOneColor( this ColorStateList?csl, int[][] ColorStates, AColor color) { if (csl == null) { return(false); } if (ColorStates.Length == 0) { return(false); } for (int i = 0; i < ColorStates.Length; i++) { var colorState = ColorStates[i]; if (csl.GetColorForState(colorState, color) != color) { return(false); } } return(true); }
public static void UpdateThumbColor(this ASwitch aSwitch, ISwitch view, ColorStateList?defaultColorStateList) { var thumbColor = view.ThumbColor; if (!thumbColor.IsDefault) { aSwitch.ThumbTintMode = APorterDuff.Mode.SrcAtop; aSwitch.ThumbTintList = thumbColor.ToDefaultColorStateList(); } else { aSwitch.ThumbTintList = defaultColorStateList; aSwitch.ThumbTintMode = APorterDuff.Mode.SrcIn; } }
protected override AppCompatEditText CreateNativeView() { var editText = new AppCompatEditText(Context) { ImeOptions = ImeAction.Done, Gravity = GravityFlags.Top, TextAlignment = Android.Views.TextAlignment.ViewStart, }; editText.SetSingleLine(false); editText.SetHorizontallyScrolling(false); _defaultPlaceholderColors = editText.HintTextColors; return(editText); }
public static void UpdateTextColor(this EditText editText, IEntry 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 UpdateTrackColor(this ASwitch aSwitch, ISwitch view, ColorStateList?defaultTrackColor) { var trackColor = view.TrackColor; if (aSwitch.Context == null) { return; } if (trackColor.IsDefault) { aSwitch.TrackTintMode = APorterDuff.Mode.SrcAtop; aSwitch.TrackTintList = defaultTrackColor; } else { aSwitch.TrackTintMode = APorterDuff.Mode.SrcIn; aSwitch.TrackTintList = trackColor.ToDefaultColorStateList(); } }
protected override void SetupDefaults(EditText nativeView) { base.SetupDefaults(nativeView); DefaultTextColors = nativeView.TextColors; }
void SetupDefaults(MauiDatePicker nativeView) { _defaultBackground = nativeView.Background; _defaultTextColors = nativeView.TextColors; }
void SetupDefaults(MauiDatePicker platformView) { _defaultBackground = platformView.Background; _defaultTextColors = platformView.TextColors; }
void SetupDefaults(MauiPicker nativeView) { DefaultBackground = nativeView.Background; DefaultTitleColors = nativeView.HintTextColors; }
public static void UpdateTextColor(this EditText 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.EditText, androidColor)) { editText.SetTextColor(ColorStateListExtensions.CreateEditText(androidColor)); } } }
public static void UpdatePlaceholderColor(this AppCompatEditText editText, IEditor editor, ColorStateList?defaultColor) { var placeholderTextColor = editor.PlaceholderColor; if (placeholderTextColor.IsDefault) { editText.SetHintTextColor(defaultColor); } else { var androidColor = placeholderTextColor.ToNative(); if (!editText.HintTextColors.IsOneColor(ColorExtensions.States, androidColor)) { var acolor = androidColor.ToArgb(); editText.SetHintTextColor(new ColorStateList(ColorExtensions.States, new[] { acolor, acolor })); } } }
public static void UpdateTextColor(this TextView textView, ITextStyle textStyle, ColorStateList?defaultColor) { var textColor = textStyle.TextColor; if (textColor != null) { textView.SetTextColor(textColor.ToNative()); return; } if (defaultColor != null) { textView.SetTextColor(defaultColor); } }
public static void UpdateMaximumTrackColor(this SeekBar seekBar, ISlider slider, ColorStateList?defaultProgressBackgroundTintList, PorterDuff.Mode?defaultProgressBackgroundTintMode) { if (slider.MaximumTrackColor == null) { if (defaultProgressBackgroundTintList != null) { seekBar.ProgressBackgroundTintList = defaultProgressBackgroundTintList; } if (defaultProgressBackgroundTintMode != null) { seekBar.ProgressBackgroundTintMode = defaultProgressBackgroundTintMode; } } else { seekBar.ProgressBackgroundTintList = ColorStateList.ValueOf(slider.MaximumTrackColor.ToPlatform()); seekBar.ProgressBackgroundTintMode = PorterDuff.Mode.SrcIn; } }
public static void UpdateMinimumTrackColor(this SeekBar seekBar, ISlider slider, ColorStateList?defaultProgressTintList, PorterDuff.Mode?defaultProgressTintMode) { if (slider.MinimumTrackColor == Forms.Color.Default) { if (defaultProgressTintList != null) { seekBar.ProgressTintList = defaultProgressTintList; } if (defaultProgressTintMode != null) { seekBar.ProgressTintMode = defaultProgressTintMode; } } else { seekBar.ProgressTintList = ColorStateList.ValueOf(slider.MinimumTrackColor.ToNative()); seekBar.ProgressTintMode = PorterDuff.Mode.SrcIn; } }
public static void UpdateTextColor(this MauiPicker platformPicker, IPicker picker, ColorStateList?defaultColor) { var textColor = picker.TextColor; if (textColor == null) { platformPicker.SetTextColor(defaultColor); } else { var androidColor = textColor.ToPlatform(); if (!platformPicker.TextColors.IsOneColor(ColorStates.EditText, androidColor)) { platformPicker.SetTextColor(ColorStateListExtensions.CreateEditText(androidColor)); } } }
public static void UpdateTextColor(this MauiPicker platformPicker, IPicker picker, ColorStateList?defaultColor) { var textColor = picker.TextColor; if (textColor == null) { platformPicker.SetTextColor(defaultColor); } else { if (PlatformInterop.CreateEditTextColorStateList(platformPicker.TextColors, textColor.ToPlatform()) is ColorStateList c) { platformPicker.SetTextColor(c); } } }
public static void UpdateTextColor(this AppCompatButton button, XColor color, ColorStateList?defaultColor) { if (color.IsDefault) { button.SetTextColor(defaultColor); } else { button.SetTextColor(color.ToNative()); } }
public static void UpdatePlaceholderColor(this SearchView searchView, ISearchBar searchBar, ColorStateList?defaultPlaceholderColor, EditText?editText = null) { editText ??= searchView.GetFirstChildOfType <EditText>(); if (editText == null) { return; } var placeholderTextColor = searchBar.PlaceholderColor; if (placeholderTextColor == null) { editText.SetHintTextColor(defaultPlaceholderColor); } else { var androidColor = placeholderTextColor.ToPlatform(); if (!editText.HintTextColors.IsOneColor(ColorStates.EditText, androidColor)) { editText.SetHintTextColor(ColorStateListExtensions.CreateEditText(androidColor)); } } }
public static void UpdateTextColor(this TextView textView, ITextStyle textStyle, ColorStateList?defaultColor) { var textColor = textStyle.TextColor; if (textColor.IsDefault) { textView.SetTextColor(defaultColor); } else { textView.SetTextColor(textColor.ToNative()); } }
public static void UpdateTextColor(this AppCompatEditText editText, ITextStyle entry, ColorStateList?defaultColor) { editText.UpdateTextColor(entry.TextColor, defaultColor); }
protected override void SetupDefaults(ASwitch nativeView) { DefaultTrackColorStateList = nativeView.GetDefaultSwitchTrackColorStateList(); DefaultThumbColorStateList = nativeView.GetDefaultSwitchThumbColorStateList(); }
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 })); } } }
public static void UpdatePlaceholderColor(this SearchView searchView, ISearchBar searchBar, ColorStateList?defaultPlaceholderColor, EditText?editText = null) { editText ??= searchView.GetFirstChildOfType <EditText>(); if (editText == null) { return; } var placeholderTextColor = searchBar.PlaceholderColor; if (placeholderTextColor == null) { editText.SetHintTextColor(defaultPlaceholderColor); } else { var androidColor = placeholderTextColor.ToNative(); if (!editText.HintTextColors.IsOneColor(ColorExtensions.States, androidColor)) { var acolor = androidColor.ToArgb(); editText.SetHintTextColor(new ColorStateList(ColorExtensions.States, new[] { acolor, acolor })); } } }
public static void UpdatePlaceholderColor(this EditText editText, Graphics.Color placeholderTextColor, ColorStateList?defaultColor) { if (placeholderTextColor == null) { editText.SetHintTextColor(defaultColor); } else { var androidColor = placeholderTextColor.ToNative(); if (!editText.HintTextColors.IsOneColor(ColorStates.EditText, androidColor)) { editText.SetHintTextColor(ColorStateListExtensions.CreateEditText(androidColor)); } } }
void SetupDefaults(MauiPicker platformView) { s_defaultBackground = platformView.Background; s_defaultTitleColors = platformView.HintTextColors; s_defaultTextColors = platformView.TextColors; }
public static void UpdatePlaceholderColor(this AppCompatEditText editText, IPlaceholder placeholder, ColorStateList?defaultColor) { editText.UpdatePlaceholderColor(placeholder.PlaceholderColor, defaultColor); }