So I'm trying to develop a custom control which has Opacity of about 0.2, and its an entry, but the problem here is if I set the Opacity of the entry, then the Placeholder or the hint text also gets the opacity, and my custom control has an image as well, which gets the opacity as well, is there a way to override this?
I tried setting the alpha in the renderer but that doesn't seem to do the trick,
Here's my renderer and the output I need, but what I'm getting in actual
protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
{
base.OnElementChanged(e);
if (e.OldElement != null || e.NewElement == null)
return;
var element = (ImageEntry)this.Element;
this.Control.Placeholder = element.Placeholder;
var textField = this.Control;
if (!string.IsNullOrEmpty(element.Image))
{
switch (element.ImageAlignment)
{
case ImageAlignment.Left:
textField.LeftViewMode = UITextFieldViewMode.Always;
textField.LeftView = GetImageView(element.Image, element.ImageHeight, element.ImageWidth);
break;
case ImageAlignment.Right:
textField.RightViewMode = UITextFieldViewMode.Always;
textField.RightView = GetImageView(element.Image, element.ImageHeight, element.ImageWidth);
break;
}
}
this.Control.Layer.CornerRadius = 25;
textField.BorderStyle = UITextBorderStyle.None;
textField.Alpha = 1;
CALayer bottomBorder = new CALayer
{
Frame = new CGRect(0.0f, element.HeightRequest - 1, this.Frame.Width, 1.0f),
BorderWidth = 2.0f,
BorderColor = element.LineColor.ToCGColor()
};
textField.Layer.AddSublayer(bottomBorder);
textField.Layer.MasksToBounds = true;
}
but this is what I'm getting