Android 中的日期选择器比 Windows Phone 中的日期选择器复杂得多,Windows 中的简单代码是这样的。 (日期选择器和文本框)
public MainPage()
{
InitializeComponent();
this.datePicker1.ValueChanged += new EventHandler<DateTimeValueChangedEventArgs>
(datePicker1_ValueChanged);
DateTime MyVal = DateTime.Today;
textBlock1.Text = MyVal.AddDays(35).ToShortDateString();
}
private void datePicker1_ValueChanged(object sender, DateTimeValueChangedEventArgs e)
{
DateTime date = (DateTime)e.NewDateTime;
this.textBlock1.Text = date.AddDays(35).ToShortDateString();
}
如果您使用 Xamarin,您可以使用 C# 代码还是使用 Java 代码。哪种方法最简单?
最佳答案
axml:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/date_EditText" />
Activity .cs
[Activity(Label = "YourApp", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity, IOnDateSetListener
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
var dateEditText = FindViewById<EditText>(Resource.Id.date_EditText);
dateEditText.Text = DateTime.Now.ToShortDateString();
dateEditText.Click += delegate
{
OnClickDateEditText();
};
}
private void OnClickDateEditText()
{
var dateTimeNow = DateTime.Now;
DatePickerDialog datePicker = new DatePickerDialog(this, this, dateTimeNow.Year, dateTimeNow.Month, dateTimeNow.Day);
datePicker.Show();
}
public void OnDateSet(DatePicker view, int year, int month, int dayOfMonth)
{
FindViewById<EditText>(Resource.Id.date_EditText).Text = new DateTime(year, month, dayOfMonth).ToShortDateString();
}
}
关于c# - Xamarin Android 和日期选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41924734/