我正在使用一个下拉列表,要求用户选择一个值。文本为法语,因此带有重音字符。
问题在于这些字符以默认字体显示,而不是我的自定义字体。它仅在DropdownButton中发生。
如下所示,正确显示了Text()对象(不在DropdownButton内)中的重音。
我在Google和Stackoverflow上都找不到关于此的任何内容。
这是字符串列表:
static final List<String> answers = [
[
'Je perds mes cheveux, je veux traiter la chute et gagner en densité',
/* ... */
'Mes cheveux sont colorés ou méchés, je veux entretenir leur éclat',
/* ... */
]
];
这是DropDownButton代码:
return DropdownButton<String>(
/* ... */
style: TextStyle(
fontFamily: 'Arapey', // This is the font I use
fontStyle: FontStyle.normal,
color: Colors.black,
fontSize: 15,
),
/* ... */
items: answers.map<DropdownMenuItem<String>>((String value) {
// This is how I fill the list
return DropdownMenuItem<String>(
value: value,
child: Text(value), // This is where I define the text to display
);
}).toList(),
);
带重音符号的字符应与我的自定义字体一起显示。
答案 0 :(得分:0)
您需要在文本小部件中添加文本样式,以便在其中定义要显示的文本
return DropdownButton<String>(
/* ... */
style: TextStyle(
fontFamily: 'Arapey', // This is the font I use
fontStyle: FontStyle.normal,
color: Colors.black,
fontSize: 15,
),
/* ... */
items: answers.map<DropdownMenuItem<String>>((String value) {
// This is how I fill the list
return DropdownMenuItem<String>(
value: value,
child: Text(value,
style: TextStyle(
fontFamily: 'Arapey', // This is the font I use
fontStyle: FontStyle.normal,
color: Colors.black,
fontSize: 15,
),
), // This is where I define the text to display
);
}).toList(),
);