Helen Araya
Helen Araya

Reputation: 1946

Xamarin.Forms.DatePicker Text color

For Xamarin.Forms.DatePicker It is not obvious that the date field is "tapable" I want to change the text color of it to blue so the user will think it is clickable?

I see a background color property but not forecolor/text color?

Let me know how I can do that.

Upvotes: 3

Views: 5131

Answers (2)

Alvaro Pereira
Alvaro Pereira

Reputation: 643

I did it just creating a class like that on my Android Project and making no changes on my Forms Pages:

using Xamarin.Forms;

using xxxx.Droid;

[assembly: ExportRenderer(typeof(Xamarin.Forms.DatePicker), typeof(MyDatePickerRederer))]

namespace xxxx.Droid
{
   public class MyDatePickerRederer :    Xamarin.Forms.Platform.Android.DatePickerRenderer
   {
    protected override void OnElementChanged(Xamarin.Forms.Platform.Android.ElementChangedEventArgs<Xamarin.Forms.DatePicker> e)
    {
        base.OnElementChanged(e);

        this.Control.SetTextColor(Android.Graphics.Color.Black);
    }
   }
} 

Upvotes: 6

jensendp
jensendp

Reputation: 2135

I don't think that the forecolor/text color is accessible at this time and I'm not sure if it will be in the future or not. Typically what you would do in this scenario is create a Custom Renderer to get down into the native implementation of the UIDatePicker control for iOS and change it's properties there. The problem with that in this case is that if you look through the iOS SDK documentation as well, I don't believe there is a way to customize the text on the UIDatePicker picker control. This is why you can't do it in Xamarin.Forms either.

At this point you will probably have to create your own custom control/renderer to make such a small change. Frustrating, I know, but unfortunately that this point I don't think you can actually accomplish the simple thing you are looking to do. :-(

Upvotes: 4

Related Questions