Как изменить размер текста initialDate в showDatePicker

Я хотел бы изменить размер текста initialDate . Я считаю, что он слишком велик на устройствах размером с мобильный телефон.

Future<Null> _selectDate(BuildContext context) async {
    var formatter = new DateFormat("yyyy-MM-dd");
    final DateTime picked = await showDatePicker(
        context: context,
        initialDate: selectedDate,
        firstDate: DateTime(1901, 1),
        lastDate: DateTime(2101),
        builder: (context, child) {
          return Column(
            children: <Widget>[
              Container(
                height: MediaQuery.of(context).size.height / 1.2,
                width: MediaQuery.of(context).size.width / 1.5,
                child: child,
              ),
            ],
          );
        });
    if (picked != null)
      setState(() {
        selectedDate = picked;
        dateController.value = TextEditingValue(text: formatter.format(picked));
      });
  }

Я заимствовал этот пример кода из https://stackoverflow.com/a/60037183/9554434 .

Изображение вопроса: введите описание изображения здесь

ребенок:

введите описание изображения здесь

Всего 2 ответа


Таким образом, решение (для меня) состояло в том, что я смотрел на DatePicker, а не на TextFormField, в котором содержался текст. Это был простой вопрос:

TextFormField(
    style: TextStyle(
    fontSize: textSize,
),

Это не отвечает на вопрос о том, как изменить размер initialDate, но решает проблему слишком большого размера текста для TextFormField.


Попробуйте обернуть дочерний элемент с помощью свойств ThemeData и TextTheme и измените размер шрифта с помощью TextStyle следующим образом

ThemeData(
    textTheme: TextTheme(
        body1: TextStyle(fontSize: 10.0), // <-- here you can do your font smaller
        body2: TextStyle(fontSize: 8.0)
    )
)