Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 如何在选择时更改列表平铺的布局?_Dart_Flutter_Flutter Layout - Fatal编程技术网

Dart 如何在选择时更改列表平铺的布局?

Dart 如何在选择时更改列表平铺的布局?,dart,flutter,flutter-layout,Dart,Flutter,Flutter Layout,我有一个列表视图。如果选择了索引,我想更改平铺布局。类似这样的内容以及我开发的内容。在选择列表时,平铺布局应如第一个链接中所示进行更改 Widget _buildRow() { return Column( children: <Widget>[ Divider( height: 35.0, ), ListTile( leading: new Text(

我有一个列表视图。如果选择了索引,我想更改平铺布局。类似这样的内容以及我开发的内容。在选择列表时,平铺布局应如第一个链接中所示进行更改

Widget _buildRow() {

 return

   Column(
    children: <Widget>[
      Divider(
        height: 35.0,
      ),
            ListTile(
              leading: new Text(
                "Set 1",
                style: TextStyle(
                  fontSize: 20.0,
                  color: Colors.black,
                  decoration: TextDecoration.none,
                  decorationStyle: TextDecorationStyle.double,
                  fontFamily: 'Raleway-Medium',
                ),
              ),
              title: Center(
                child: new Text(
                  "40 Lbs",
                  style: TextStyle(
                    fontSize: 18.0,
                    color: Colors.black,
                    decoration: TextDecoration.none,
                    decorationStyle: TextDecorationStyle.double,
                    fontFamily: 'Raleway-Medium',
                  ),
                ),
              ),
              trailing: IconButton(
                icon: (_isFavorited
                    ? Icon(Icons.check_circle)
                    : Icon(
                        Icons.check_circle_outline,
                        color: Colors.grey,
                      )),
                color: Colors.lightBlueAccent,
                iconSize: 35.0,
                splashColor: Colors.tealAccent,
                onPressed: _toggleFavorite,
              ),
            ),
      Stack(
       children: <Widget>[
         Padding(
           padding: const EdgeInsets.only(bottom:10.0),
           child: Divider(
             height: 40.0,
           ),
         ),
         Center(
           child: IconButton(
             icon: (_isFavorited
                 ? Icon(Icons.cancel)
                 : Icon(
               Icons.cancel,
               color: Colors.grey,
             )),
             color: Colors.lightBlueAccent,
             iconSize: 35.0,
             splashColor: Colors.tealAccent,
             onPressed: _resetSetData,
           ),
         ),

       ],
      ),

      ListTile(

              title: Center(
                child: new Text(
                  "10 reps",
                  style: TextStyle(
                    fontSize: 18.0,
                    color: Colors.black,
                    decoration: TextDecoration.none,
                    decorationStyle: TextDecorationStyle.double,
                    fontFamily: 'Raleway-Medium',
                  ),
                ),
              ),
            ),
    ],
  );
}

void _toggleFavorite() {
   setState(() {
    if (_isFavorited) {
     _isFavorited = false;
   } else {
     _isFavorited = true;
  }
});
}

void _resetSetData() {
  setState(() {
    if (_isFavorited) {
    _isFavorited = false;
  } else {
    _isFavorited = true;
  }
});
 }
Widget\u buildRow(){
返回
纵队(
儿童:[
分隔器(
身高:35.0,
),
列表砖(
导语:新文本(
“第1组”,
样式:TextStyle(
字体大小:20.0,
颜色:颜色,黑色,
装饰:textEdition.none,
decorationStyle:text decorationStyle.double,
fontFamily:“雷威中档”,
),
),
标题:中心(
儿童:新文本(
“40磅”,
样式:TextStyle(
字体大小:18.0,
颜色:颜色,黑色,
装饰:textEdition.none,
decorationStyle:text decorationStyle.double,
fontFamily:“雷威中档”,
),
),
),
尾随:图标按钮(
图标:(\u是最受欢迎的
?图标(图标。勾选圆圈)
:图标(
图标。勾选圆圈和轮廓,
颜色:颜色。灰色,
)),
颜色:Colors.lightBlueAccent,
iconSize:35.0,
splashColor:Colors.tealacent,
onPressed:\u切换到收藏夹,
),
),
堆叠(
儿童:[
填充物(
填充:仅限常量边集(底部:10.0),
孩子:分割器(
身高:40.0,
),
),
居中(
孩子:我的钮扣(
图标:(\u是最受欢迎的
?图标(图标。取消)
:图标(
图标。取消,
颜色:颜色。灰色,
)),
颜色:Colors.lightBlueAccent,
iconSize:35.0,
splashColor:Colors.tealacent,
按下时:_resetSetData,
),
),
],
),
列表砖(
标题:中心(
儿童:新文本(
“10次”,
样式:TextStyle(
字体大小:18.0,
颜色:颜色,黑色,
装饰:textEdition.none,
decorationStyle:text decorationStyle.double,
fontFamily:“雷威中档”,
),
),
),
),
],
);
}
void _toggleFavorite(){
设置状态(){
如果(_是受欢迎的){
_isFavorited=false;
}否则{
_isFavorited=true;
}
});
}
void _resetSetData(){
设置状态(){
如果(_是受欢迎的){
_isFavorited=false;
}否则{
_isFavorited=true;
}
});
}

实现此UI的最佳方法是什么?

使用容器包装列表互动程序,并使用bool维护互动程序的状态,以便您可以更改列表互动程序的颜色。谢谢