Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set Placeholder and PlaceHolder Color in Editor Xamarin Forms

How to set Placeholder Text and Placeholder Color in Editor in Xamarin Forms.

It has no default Functionality or Properties how to customize it?

Reference documentation : Xamarin Forms Editor

like image 810
Adit Kothari Avatar asked Dec 29 '25 07:12

Adit Kothari


1 Answers

You will need a custom renderer for that (Here is the Android Custom Renderer) you will need another renderer for iOS:

public class PlaceholderEditor : Editor
{
    public static readonly BindableProperty PlaceholderProperty =
        BindableProperty.Create<PlaceholderEditor, string>(view => view.Placeholder, String.Empty);

    public PlaceholderEditor()
    {
    }

    public string Placeholder
    {
        get
        {
            return (string)GetValue(PlaceholderProperty);
        }

        set
        {
            SetValue(PlaceholderProperty, value);
        }
    }
}

public class PlaceholderEditorRenderer : EditorRenderer
{
    public PlaceholderEditorRenderer()
    {
    }

    protected override void OnElementChanged(
        ElementChangedEventArgs<Editor> e)
    {
        base.OnElementChanged(e);

        if (e.NewElement != null)
        {
            var element = e.NewElement as PlaceholderEditor;
            this.Control.Hint = element.Placeholder;
        }
    }

    protected override void OnElementPropertyChanged(
        object sender,
        PropertyChangedEventArgs e)
    {
        base.OnElementPropertyChanged(sender, e);

        if (e.PropertyName == PlaceholderEditor.PlaceholderProperty.PropertyName)
        {
            var element = this.Element as PlaceholderEditor;
            this.Control.Hint = element.Placeholder;
        }
    }
}

And for the color you may need something like this (Android):

Control.SetHintTextColor(Android.Graphics.Color.White);

There already a thread for this in the Xamarin Forums: https://forums.xamarin.com/discussion/20616/placeholder-editor

And more about Custom Renderers information below: https://developer.xamarin.com/guides/xamarin-forms/custom-renderer/

like image 172
Mario Galván Avatar answered Dec 30 '25 23:12

Mario Galván