颤振-滚动listview时如何获得圆形边框?

颤振-滚动listview时如何获得圆形边框?,listview,flutter,dart,android-listview,android-chips,Listview,Flutter,Dart,Android Listview,Android Chips,我正在使用列底部带有芯片的listview 从listview开始的第一个图像是圆形,但最后显示为矩形 滚动listview芯片1天时溢出(第二幅图像) 我想两边底部都需要圆形,如何实现?提前谢谢 我的代码 Container( padding: EdgeInsets.only( top: 16.0, ), width: MediaQuery.of(contex

我正在使用列底部带有芯片的listview

从listview开始的第一个图像是圆形,但最后显示为矩形

滚动listview芯片1天时溢出(第二幅图像)

我想两边底部都需要圆形,如何实现?提前谢谢

我的代码

Container(
                padding: EdgeInsets.only(
                  top: 16.0,
                ),
                width: MediaQuery.of(context).size.width,
                height: 100,
                decoration: BoxDecoration(
                    borderRadius: BorderRadius.circular(12.0),
                    color: Colors.white),
                child: Column(
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: <Widget>[
                    Text(""),
                    Container(
                      height: 35,
                      decoration: BoxDecoration(
                          borderRadius: BorderRadius.only(
                              bottomLeft: Radius.circular(12.0),
                              bottomRight: Radius.circular(12.0)),
                          color:
                              Theme.of(context).chipTheme.backgroundColor),
                      child: ListView(
                        scrollDirection: Axis.horizontal,
                        children: getChoiceChips(),
                      ),
                    )
                  ],
                ),
              )
容器(
填充:仅限边缘设置(
排名:16.0,
),
宽度:MediaQuery.of(context).size.width,
身高:100,
装饰:盒子装饰(
边界半径:边界半径。圆形(12.0),
颜色:颜色。白色),
子:列(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
正文(“”),
容器(
身高:35,
装饰:盒子装饰(
borderRadius:仅限borderRadius(
左下角:半径。圆形(12.0),
右下角:半径。圆形(12.0)),
颜色:
Theme.of(context.chipTheme.backgroundColor),
子:ListView(
滚动方向:轴水平,
儿童:getChoiceChips(),
),
)
],
),
)
芯片功能

getChoiceChips() {
List<Widget> choiceChipList = [];
List<String> choiceString = [
  '1 Day',
  '1 Week',
  '1 Month',
  '3 Months',
  '1 Year'
];
for (String choice in choiceString) {
  choiceChipList.add(Padding(
    padding: const EdgeInsets.only(left: 2.0, right: 2.0),
    child: ChoiceChip(
      label: Text(choice),
      selected: choice == selectedChoice,
      onSelected: (newSelectedChoice) {
        setState(() {
          print(selectedChoice);
          print(newSelectedChoice);
          selectedChoice = choice;


          print(selectedChoice);
          print(choice);
        });
      },
    ),
  ));
}
return choiceChipList;
}
getChoiceChips(){
列表选项ChipList=[];
列表选项字符串=[
“一天”,
“1周”,
“1个月”,
“3个月”,
“1年”
];
for(choiceString中的字符串选择){
choiceChipList.add(填充(
填充:仅限常量边集(左:2.0,右:2.0),
孩子:选择权(
标签:文本(选项),
selected:choice==selectedChoice,
onSelected:(newSelectedChoice){
设置状态(){
打印(selectedChoice);
印刷品(新闻选择);
selectedChoice=选择;
打印(selectedChoice);
印刷(选择);
});
},
),
));
}
返回货物清单;
}

容器中的
盒子装饰
将仅显示圆角作为视觉特征。如果您想要将内容实际剪切到这些圆角内而不溢出,那么您需要将容器包围在一个圆形的容器中

ClipRRect(
边界半径:边界半径。圆形(12.0),
子:容器(
填充:仅限边缘设置(顶部:16.0),
宽度:MediaQuery.of(context).size.width,
身高:100,
装饰:盒子装饰(颜色:彩色。白色),
子:列(
...
),
),
),