tldr:颤抖的新手。需要实现一个聊天气泡,其中包含更多的聊天气泡(可单独单击)。
我有一个_buildQuestionMessage()
窗口小部件生成器,它创建了一个看起来像这样的聊天气泡:
现在,我的目的是使构建器在此小部件内生成动态数量的containers
,从而启用MCQ类型的功能。最终结果可能看起来像这样(问题气泡内有动态数量的可点击选项):
现在,我正面临一个问题:
如何实现这种方式,使得optionsBuilder()
的调用次数与我的选择次数一样多。假设我有一个选项列表;同时确保原始气泡封装了这些选项。
我的_buildQuestionMessage()
方法是这样的:
Widget _buildQuestionMessage(String questionText, List<String> optionStrings) { //optionStrings may contain anything between 2 to 10 strings that are the options.
return Padding(
padding: EdgeInsets.symmetric(vertical: 7.5),
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
SizedBox(width: 5),
ClipRRect(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(25),
topRight: Radius.circular(25),
bottomRight: Radius.circular(25),
bottomLeft: Radius.circular(25)),
child: Container(
color: Color(0xFF2C2C36),
padding: EdgeInsets.all(17),
constraints: BoxConstraints(
maxWidth: 250.0,
minWidth: 30.0,
),
child: Text(
questionText,
style: TextStyle(
color: Colors.white,
height: 1.2,
),
),
),
),
],
),
],
),
);
}
我的理解是,为了实现QuestionBuilder
,我需要非常相似的Option Builder
代码。我只想了解有关如何在另一个WidgetBuilder中实现WidgetBuilder 的一些建议/示例代码。
任何建议/帮助都将受到赞赏。