如何在 DatePickerDialog 中以越南语显示月份和日期?
Posted
技术标签:
【中文标题】如何在 DatePickerDialog 中以越南语显示月份和日期?【英文标题】:How to display months and days in Vietnamese in DatePickerDialog? 【发布时间】:2021-11-30 02:59:59 【问题描述】:当应用程序语言在 Xamarin 表单中为越南语时,如何在 android 的 DatePickerDialog 和 ios 的 DatePicker 中以越南语显示月份和日期
安卓:
protected override DatePickerDialog CreateDatePickerDialog(int year, int month, int day)
pickerDialog = new DatePickerDialog(Context, (o, e) =>
datePicker.Date = e.Date;
((IElementController)datePicker).SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, false);
, year, month, day);
//ok
pickerDialog.SetButton((int)DialogButtonType.Positive, AppResources.AlertDismiss, OnDone);
//cancel
pickerDialog.SetButton((int)DialogButtonType.Negative, AppResources.PickerCancelText, OnCancel);
return pickerDialog;
IOS:建议我在IOS中怎么做?
【问题讨论】:
【参考方案1】:如果我理解正确,你想为 DatePicker 显示英文格式吗?
如果是这样,您可以在自定义渲染器中修改日期选择器的 Locale
。
iOS 解决方案
[assembly: ExportRenderer(typeof(DatePicker), typeof(MyRenderer))]
namespace FormsApp.iOS
class MyRenderer : DatePickerRenderer
protected override void OnElementChanged(ElementChangedEventArgs<DatePicker> e)
base.OnElementChanged(e);
if(Control != null)
UIDatePicker picker = Control.InputView as UIDatePicker;
picker.Locale = new NSLocale("us");
之前
之后
如果你想让Datepicker
只显示month
和day
用于选择项目,它可能有点复杂,因为iOS 不提供实现该选项/模式,你需要创建一个视图和实现 UIPickerViewDelegate 并创建您自己的控制器。
参考
https://***.com/a/412754/8187800.
https://***.com/a/24971192/8187800.
安卓解决方案
将以下代码添加到MainActivity
类的OnCreate中。
protected override void OnCreate(Bundle savedInstanceState)
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
//this code
Locale locale = Locale.Us;
Locale.SetDefault(Locale.Category.Format, locale);
Configuration config = this.Resources.Configuration;
config.SetLocale(locale);
CreateConfigurationContext(config);
LoadApplication(new App());
之前
###之后
参考
DatePickerDialog in arabic language
Set Android DatePicker title language
【讨论】:
所以你想要的是显示英文风格? 我反之问英语到越南语。但感谢 IOS 它的工作原理。我要求Android和IOS。对于 Android 请推荐我? 如果我在应用程序中将语言从英语切换到越南语和越南语到英语,是否可以在运行时更改。不是移动语言。 可以,使用消息中心调用特定平台项目中的代码即可。以上是关于如何在 DatePickerDialog 中以越南语显示月份和日期?的主要内容,如果未能解决你的问题,请参考以下文章
Material UI:如何在 DatePicker 之外使用 DatePickerDialog?
如何在 DatePickerDialog Android 中禁用今天日期之前的日期?
如何在 DatePickerDialog Android 中禁用今天日期之后的日期?
如何在按钮单击时显示 DatePickerDialog? [关闭]
如何在 xamarin 表单中更改视觉材料 DatePickerDialog 和 TimePickerDialog 背景颜色