copy_code 2020-01-12 16:30 采纳率: 0%
浏览 628

flutter Wrap流式布局如何点击单线改变颜色

1.如题流式布局单项点击想改变颜色高亮显示
图片说明
代码如下:
Container(
child: Wrap(
spacing: 1,
children: [
for (String item in _children)
InkWell(
child: TagItem(item),
onTap: () {
info = item;
},
),
],
),
),

  • 写回答

1条回答 默认 最新

  • jamesxchen 2020-03-06 09:58
    关注

    你好,昨天晚上看到,手机上不好加答,今天特意电脑给您回答,希望能帮助到你。
    第一步,设置一个选中索引,
    int curIndex=0;
    第二步,改下你的循环,建议最好用ActionChip来做,带点击事件,在你这个版本这样写
    for(int i=0;i<in_children.length;i++){
    InkWell(
    child:TagItem(in_children[i]),
    onTap:(){
    //设置当前id为自己,记录下序号,并刷新
    setState((){
    curIndex = i;
    });
    }
    ),
    }
    第三步,改你的TagItem函数为Widget添加边框属性,不知道你用的是什么Widget,大体意思就是在边框里根据curIndex来设置不同样式,大体如下意思:
    border: (curIndex == i
    ?new Border.all(width: 4, color: Colors.pink)

    :new Border.all(width: 1, color: Colors.blue)

    这样就完成了,选中时边框粗,粉色,没选中的蓝色

    希望能帮助到你,不清楚请继续问我。

    评论

报告相同问题?