bitwarden-android/src/App/Controls/FormPickerCell.cs

58 lines
1.5 KiB
C#

using System;
using Bit.App.Resources;
using Xamarin.Forms;
namespace Bit.App.Controls
{
public class FormPickerCell : ExtendedViewCell
{
public FormPickerCell(string labelText, string[] pickerItems)
{
Label = new Label
{
Text = labelText,
FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label)),
TextColor = Color.FromHex("777777")
};
Picker = new ExtendedPicker
{
HasBorder = false
};
foreach(var item in pickerItems)
{
Picker.Items.Add(item);
}
Picker.SelectedIndex = 0;
var stackLayout = new StackLayout
{
Padding = new Thickness(15, 10),
VerticalOptions = LayoutOptions.CenterAndExpand
};
stackLayout.Children.Add(Label);
stackLayout.Children.Add(Picker);
if(Device.OS == TargetPlatform.Android)
{
stackLayout.Spacing = 0;
}
Picker.AdjustMarginsForDevice();
stackLayout.AdjustPaddingForDevice();
Tapped += FormPickerCell_Tapped;
View = stackLayout;
}
public Label Label { get; private set; }
public ExtendedPicker Picker { get; private set; }
private void FormPickerCell_Tapped(object sender, EventArgs e)
{
Picker.Focus();
}
}
}