Xamarin Android中SetFormatter实现数字转字符串的代码示例
Xamarin Android 日期选择器月份格式化为两位数字
要在Xamarin Android中将日期选择器的月份显示为两位数字格式,可通过自定义NumberPicker.IFormatter实现,具体实现如下:
调用方式
在OnCreateDialog事件中调用SetNumericMonth方法:
SetNumericMonth(true, null, dialog);
完整实现代码
private int monthSpinnerResId; public void SetNumericMonth(bool onCreateEventOrNot, DatePicker view, DatePickerDialog dialog) { if (DatePickerNumericMonthFormat == false) { monthSpinnerResId = Activity.Resources.GetIdentifier("android:id/month", null, null); if (monthSpinnerResId != 0) { var numberPicker = (NumberPicker)dialog.DatePicker.FindViewById<NumberPicker>(monthSpinnerResId); numberPicker.SetFormatter(new NumericMonthFormatter()); numberPicker.MinValue = 0; numberPicker.MaxValue = 9; } } } public class NumericMonthFormatter : Java.Lang.Object, NumberPicker.IFormatter { public string Format1(int value) { return string.Format("{0:D2}", value); } }
代码说明
- 通过
Activity.Resources.GetIdentifier获取系统日期选择器中月份选择器的ID - 为月份选择器设置自定义格式化器
NumericMonthFormatter,将单个数字格式化为两位字符串(如0转为00,9转为09) - 重置月份选择器的最小值和最大值,确保显示范围匹配两位数字的月份逻辑
内容的提问来源于stack exchange,提问作者Fairoz Pasha
相关产品推荐
相关产品推荐

