mirror of
https://github.com/bitwarden/android.git
synced 2024-12-25 18:38:27 +03:00
49 lines
1.5 KiB
C#
49 lines
1.5 KiB
C#
using System;
|
|
using System.ComponentModel;
|
|
using Bit.Android.Controls;
|
|
using Bit.App.Controls;
|
|
using Xamarin.Forms;
|
|
using Xamarin.Forms.Platform.Android;
|
|
|
|
[assembly: ExportRenderer(typeof(ExtendedPicker), typeof(ExtendedPickerRenderer))]
|
|
namespace Bit.Android.Controls
|
|
{
|
|
public class ExtendedPickerRenderer : PickerRenderer
|
|
{
|
|
protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
|
|
{
|
|
base.OnElementChanged(e);
|
|
|
|
var view = (ExtendedPicker)Element;
|
|
|
|
Control.TextSize = (float)Device.GetNamedSize(NamedSize.Medium, typeof(Picker));
|
|
SetBorder(view);
|
|
}
|
|
|
|
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
|
|
{
|
|
var view = (ExtendedPicker)Element;
|
|
|
|
if(e.PropertyName == ExtendedPicker.HasBorderProperty.PropertyName)
|
|
{
|
|
SetBorder(view);
|
|
}
|
|
else
|
|
{
|
|
base.OnElementPropertyChanged(sender, e);
|
|
if(e.PropertyName == VisualElement.BackgroundColorProperty.PropertyName)
|
|
{
|
|
Control.SetBackgroundColor(view.BackgroundColor.ToAndroid());
|
|
}
|
|
}
|
|
}
|
|
|
|
private void SetBorder(ExtendedPicker view)
|
|
{
|
|
if(!view.HasBorder)
|
|
{
|
|
Control.SetBackgroundColor(global::Android.Graphics.Color.Transparent);
|
|
}
|
|
}
|
|
}
|
|
}
|