我正在学习flutter,但有些东西我在任何地方都找不到。
例如,我想制作一组ChoiceChips,类似于下图
但我不知道怎么把定制标签放进这种芯片里。
我怎样才能让它成为可能?
import 'package:flutter/material.dart';
class MyThreeOptions extends StatefulWidget {
@override
_MyThreeOptionsState createState() => _MyThreeOptionsState();
}
class _MyThreeOptionsState extends State<MyThreeOptions> {
int _value = 0;
// ----What I want to appear----//
/*void v (int index){
switch (index){
case 0: Text('Phones');
break;
case 1: Text('Computers');
break;
case 2: Text('Accessories');
break;
}}*/
@override
Widget build(BuildContext context) {
return Wrap(
alignment: WrapAlignment.center,
spacing: 12.0,
children: List<Widget>.generate(
3,
(int index) {
return ChoiceChip(
pressElevation: 0.0,
selectedColor: Colors.blue,
backgroundColor: Colors.grey[100],
label: Text("item $index"),
selected: _value == index,
onSelected: (bool selected) {
setState(() {
_value = selected ? index : null;
});
},
);
},
).toList(),
);}
}
4条答案
按热度按时间brqmpdu11#
abithluo2#
pprl5pva3#
您只需要创建自己的小部件与您的愿望布局,并把作为您的芯片标签。
r1zhe5dt4#
好了,我发现了一种方法,但我认为必须有一些更有效的,创建一个字符串列表和传递的值,但我不能编码它。如果有人知道任何更有效的方法来执行这个动作,他们的贡献是赞赏。