首页 > 解决方案 > 如何在 showDatePicker 中调整文本 initialDate 的大小

问题描述

我想调整文本大小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借用了这个示例代码。

问题图片: 在此处输入图像描述

孩子:

在此处输入图像描述

标签: flutterdart

解决方案


尝试用ThemeDataTextTheme 属性包装孩子,并像这样使用TextStyle更改字体大小

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

推荐阅读