首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Widget中为每个芯片颤振不同的颜色

在Widget中为每个芯片颤振不同的颜色
EN

Stack Overflow用户
提问于 2021-12-14 10:52:07
回答 1查看 96关注 0票数 0

我在一个包装小部件中有4个芯片,芯片的数量是根据答案长度来确定的,因为这是答案的长度,所以我需要为芯片创建一个背景色,而不是为每个芯片创建一个背景色,现在我已经创建了芯片并根据长度显示,芯片列表是垂直的,所以对于第一个芯片,第二个颜色(0xFFFFFFB139),第三色(0xFFFFFFB139),第三色(0xFFFFFFFFFFFFFFFFD)。

这是芯片的代码

代码语言:javascript
复制
child: Chip(
                                backgroundColor: Colors.blue, // hardcoded color
                                label: Container(
                                  width: 80.w,
                                  height: 11.3.h,
                                  child: Align(
                                    alignment: Alignment.topCenter,
                                    child: Text(
                                      answersText,
                                      style: GoogleFonts.fredokaOne(
                                        textStyle: TextStyle(
                                            fontSize: 20.0.sp,
                                            color: Colors.white),
                                      ),
                                      textAlign: TextAlign.center,
                                    ),
                                  ),
                                ),
                              )
EN

回答 1

Stack Overflow用户

发布于 2022-10-18 06:13:47

代码语言:javascript
复制
Wrap(
                                    direction: Axis.horizontal,
                                    children: List.generate(widget.targetSet.length, (index) => Container(
                                      height: 50,
                                      width: ((MediaQuery.of(context).size.width-100)/4),
                                      decoration: BoxDecoration(
                                        color: darken(Color.red,(index*0.1),
                                        border:   Border.all(width: 1,color: Color.green),
                                      ),
                                    )
                                    )
                                ),

在创建Wrap时使用上述代码。

代码语言:javascript
复制
    Color darken(Color color, [double amount = .1]) {
  assert(amount >= 0 && amount <= 1);

  final hsl = HSLColor.fromColor(color);
  final hslDark = hsl.withLightness((hsl.lightness - amount).clamp(0.0, 1.0));

  return hslDark.toColor();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70347658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档