我在自定义日期选择器文本方面遇到了一些问题。 使用Xamarin(非表单)在Visual Studio中工作。
我尝试过一些东西,但不能只指定时间文字。 例如这个主题:How to resize datepicker text programmatically 但它没有识别dp_dayTextSize或tp_textSize。
我的目标是让它看起来像Google Calender datepicker。见截图:
using System;
using Android.App;
using Android.OS;
using Android.Util;
using Android.Widget;
namespace App.Android.Fragments
{
public class DatePickerFragment : DialogFragment,
DatePickerDialog.IOnDateSetListener
{
// TAG can be any string of your choice.
public static readonly string TAG = "X:" + typeof(DatePickerFragment).Name.ToUpper();
// Initialize this value to prevent NullReferenceExceptions.
Action<DateTime> _dateSelectedHandler = delegate { };
public static DatePickerFragment NewInstance(Action<DateTime> onDateSelected)
{
DatePickerFragment frag = new DatePickerFragment();
frag._dateSelectedHandler = onDateSelected;
return frag;
}
public override Dialog OnCreateDialog(Bundle savedInstanceState)
{
DateTime currently = DateTime.Now;
// THEME possible: AlertDialog.ThemeDeviceDefaultLight
DatePickerDialog dialog = new DatePickerDialog(Activity, Resource.Style.App_Picker, this, currently.Year, currently.Month - 1, currently.Day);
return dialog;
}
public void OnDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
{
// Note: monthOfYear is a value between 0 and 11, not 1 and 12!
DateTime selectedDate = new DateTime(year, monthOfYear + 1, dayOfMonth);
Log.Debug(TAG, selectedDate.ToLongDateString());
_dateSelectedHandler(selectedDate);
}
}
}
我对Resource.Style.HPA_Picker的风格如下。
<style name="App.Picker" parent="Theme.AppCompat.Light.Dialog">
<item name="android:textSize">18sp</item>
</style>
我知道这不会奏效,但这是我能做的最好的事情。 这是以风格完成的,但也可以通过编程方式完成。
解决方案是什么?