I am using Picker
control, by default it shows White underline color on Black screen.
But I need to have white screen background color, then Picker
underline is not displaying at all. See below image:
So how can I change Picker
underline color
This is my Picker
<Picker TitleColor="Black" Title="--Select--" />
you could use custom renderer to achieve it:
for Android:
[assembly: ExportRenderer(typeof(Picker), typeof(CustomPickerRenderer))]
namespace App18.Droid
{
public class CustomPickerRenderer : PickerRenderer
{
private Context context;
public CustomPickerRenderer(Context context) : base(context)
{
this.context = context;
}
protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
{
base.OnElementChanged(e);
if (Control == null || e.NewElement == null) return;
//for example ,change the line to red:
if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
Control.BackgroundTintList = ColorStateList.ValueOf(Color.Red);
else
Control.Background.SetColorFilter(Color.Red, PorterDuff.Mode.SrcAtop);
}
}
}
for iOS:
[assembly: ExportRenderer(typeof(Picker), typeof(CustomPickerRenderer))]
namespace App18.iOS
{
public class CustomPickerRenderer : PickerRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
{
base.OnElementChanged(e);
if (Control == null || e.NewElement == null)
return;
Control.Layer.BorderWidth = 1;
Control.Layer.BorderColor = Color.Red.ToCGColor();
}
}
}