调整datepicker titletext / Timetext的大小

时间:2018-04-12 11:32:59

标签: android visual-studio xamarin datepicker

我在自定义日期选择器文本方面遇到了一些问题。 使用Xamarin(非表单)在Visual Studio中工作。

我尝试过一些东西,但不能只指定时间文字。 例如这个主题:How to resize datepicker text programmatically 但它没有识别dp_dayTextSize或tp_textSize。

我的目标是让它看起来像Google Calender datepicker。见截图:

[1]: https://i.stack.imgur.com/CT37u.png

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>

我知道这不会奏效,但这是我能做的最好的事情。 这是以风格完成的,但也可以通过编程方式完成。

解决方案是什么?

1 个答案:

答案 0 :(得分:0)

我为你做了一个demo,在项目中,我使用npm install来实现这种风格,你可以参考它。