public static AndroidJavaObject CreateDatePickerDialog(int year, int month, int day, OnDatePicked onDatePicked, Action onCancel, AGDialogTheme theme = AGDialogTheme.Default) { var listener = new OnDateSetListenerPoxy(onDatePicked); int themeResource = AndroidDialogUtils.GetDialogTheme(theme); // Month! (0-11 for compatibility with MONTH) var dialog = AndroidDialogUtils.IsDefault(themeResource) ? new AndroidJavaObject(DatePickerClass, AGUtils.Activity, listener, year, month - 1, day) : new AndroidJavaObject(DatePickerClass, AGUtils.Activity, themeResource, listener, year, month - 1, day); dialog.Call("setOnCancelListener", new DialogOnCancelListenerPoxy(onCancel)); return(dialog); }
/// <summary> /// Shows the default Android date picker. /// </summary> /// <param name="year">Year.</param> /// <param name="month">Month.</param> /// <param name="day">Day.</param> /// <param name="onDatePicked">Date was picked callback.</param> /// <param name="onCancel">Dialog was cancelled callback.</param> /// <param name="theme">Dialog theme</param> public static void ShowDatePicker(int year, int month, int day, OnDatePicked onDatePicked, Action onCancel, AGDialogTheme theme = AGDialogTheme.Default) { if (AGUtils.IsNotAndroidCheck()) { return; } AGUtils.RunOnUiThread(() => { var listener = new OnDateSetListenerPoxy(onDatePicked); int themeResource = AndroidDialogUtils.GetDialogTheme(theme); // Month! (0-11 for compatibility with MONTH) var dialog = AndroidDialogUtils.IsDefault(themeResource) ? new AndroidJavaObject(DatePickerClass, AGUtils.Activity, listener, year, month - 1, day) : new AndroidJavaObject(DatePickerClass, AGUtils.Activity, themeResource, listener, year, month - 1, day); dialog.Call("setOnCancelListener", new DialogOnCancelListenerPoxy(onCancel)); AndroidDialogUtils.ShowWithImmersiveModeWorkaround(dialog); }); }