КупертиноПикер textStyle флаттер
Я новичок, и мне нужна помощь.
Я создаю приложение, в котором пользователь может выбирать данные с помощью CupertinoPicker.
Сборщик работает нормально, но я бы хотел изменить его стиль.
В настоящее время стиль такой, но я хочу, чтобы он был таким.
К сожалению, я не могу понять, как это сделать, я прочитал это, но я не могу этого сделать, я хотел бы изменить цвет и размер выбранного элемента, цвет невыбранных элементов и цвет линий.
Но я не знаю, как я могу это сделать.
Может кто-нибудь помочь мне понять, пожалуйста?
Код такой:
Container(
˙child: _showCupertinoPicker(
context,
book[currentPage].orari.map((orario) {
return Center(
child: Text(orario,
style: TextStyle(color: CupertinoColors.activeBlue
)));
}).toList())),
.
.
.
.
_showCupertinoPicker(BuildContext context, List<Widget> orariWidget) {
return CupertinoPicker(
backgroundColor: Colors.white,
onSelectedItemChanged: (value) {},
itemExtent: 40.0,
children: orariWidget,
);
}
0 ответов
Можно стилизовать CupertinoPicker
а также CupertinoDatePicker
используя такую тему:
ThemeData(
cupertinoOverrideTheme: CupertinoThemeData(
textTheme: CupertinoTextThemeData(
dateTimePickerTextStyle: TextStyle(color: Colors.blue, fontSize: 16),
pickerTextStyle: TextStyle(color: Colors.blue, fontSize: 12),
)
)
)
)
Оберните CupertinoPicker() другим виджетом, известным как CupertinoTheme() как
CupertinoTheme(
data: CupertinoThemeData(
textTheme: CupertinoTextThemeData(
pickerTextStyle: TextStyle(//Your normal TextStyling)
),
),
child:CupertinoPicker(//Your Cupertino Picker)
)
Я знаю, что это подробное решение, но оно работает:
final cupertinoTheme = CupertinoTheme.of(context);
// Do your customising here:
final pickerTextStyle =
cupertinoTheme.textTheme.pickerTextStyle.copyWith(fontSize: 18.0, color: Colors.cyan);
final textTheme =
cupertinoTheme.textTheme.copyWith(pickerTextStyle: pickerTextStyle);
return CupertinoTheme(
data: cupertinoTheme.copyWith(textTheme: textTheme),
child: yourPickerGoesHere,
);
CupertinoPicker
берет текстовый стиль из CupertinoTheme.of(context).textTheme.pickerTextStyle
. Все, что мы здесь делаем, это обновляемpickerTextStyle
с нашими настройками.