You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 21:40:49