Xamarin.forms 如何自定义时间间隔Xamarin表单?
我使用的是Xamarin的PCL项目。我想在android和IOS平台上定制30分钟间隔的时间选择器 这怎么可能。我正在使用Android的自定义代码:Xamarin.forms 如何自定义时间间隔Xamarin表单?,xamarin.forms,Xamarin.forms,我使用的是Xamarin的PCL项目。我想在android和IOS平台上定制30分钟间隔的时间选择器 这怎么可能。我正在使用Android的自定义代码: public class BorderlessTimePickerRenderer : TimePickerRenderer { protected override void OnElementChanged(ElementChangedEventArgs<TimePicker> e) { base
public class BorderlessTimePickerRenderer : TimePickerRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<TimePicker> e)
{
base.OnElementChanged(e);
if (Control != null)
{
Control.SetBackground(Android.Support.V4.Content.ContextCompat.GetDrawable(this.Context, Android.Resource.Color.Transparent));
var layoutParams = new MarginLayoutParams(Control.LayoutParameters);
layoutParams.SetMargins(0, 0, 0, 0);
LayoutParameters = layoutParams;
Control.LayoutParameters = layoutParams;
Control.SetPadding(0, 0, 0, 0);
SetPadding(0, 0, 0, 0);
}
}
}
以下显示了自定义渲染器中的iOS实现:
public class BorderlessTimePickerRenderer : TimePickerRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<TimePicker> e)
{
base.OnElementChanged(e);
Control.Layer.BorderWidth = 0;
Control.BorderStyle = UITextBorderStyle.None;
var timePicker = (UIDatePicker)Control.InputView;
timePicker.MinuteInterval = 30;
}
}
如您所见,我们将控件的InputView强制转换为UIDatePicker,然后我们可以访问属性MinuteInterval。请您也共享Android代码好吗@Sebastian Jensen.你好,有可能只显示0和30的两个实例吗?嘿,你能告诉我,如果我只想显示两个值而不是多次显示0和30,那怎么可能呢?为此,你必须编写自己的逻辑或自己的控件来处理这个问题。本机时间选择器没有此选项。
public class BorderlessTimePickerRenderer : TimePickerRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<TimePicker> e)
{
base.OnElementChanged(e);
Control.Layer.BorderWidth = 0;
Control.BorderStyle = UITextBorderStyle.None;
var timePicker = (UIDatePicker)Control.InputView;
timePicker.MinuteInterval = 30;
}
}