EdgeInsets.symmetric起什么作用
时间: 2024-04-02 11:36:11 浏览: 16
EdgeInsets.symmetric是一个用于设置对称边距的方法,可以同时设置一个控件的上下、左右、四个方向的边距值。在iOS开发中,我们通常使用该方法来设置控件的边距,让控件的布局更加美观和合理。例如,可以使用该方法来设置一个UIButton的上下左右边距都为10pt,使其在父视图中居中且与周围控件间距相等。
相关问题
因为数据用的是Mysql,Mysql的bool值只有0和1,怎样有效的整合到以下代码 class MyWidget extends StatefulWidget { @override _MyWidgetState createState() => _MyWidgetState(); } class _MyWidgetState extends State<MyWidget> { List<Map<String, dynamic>> _data = [ {'title': '备注1', 'content': '这是备注1的内容', 'isVisible': false}, {'title': '备注2', 'content': '这是备注2的内容', 'isVisible': false}, {'title': '备注3', 'content': '这是备注3的内容', 'isVisible': false}, ]; @override Widget build(BuildContext context) { return Container( margin: EdgeInsets.symmetric(vertical: 30,horizontal: 10), child: Column( children: _data.map((item) { int index = _data.indexOf(item); return Column( children: [ ListTile( title: Text(item['title']), trailing: IconButton( icon: Icon(item['isVisible'] ? Icons.arrow_drop_up : Icons.arrow_drop_down), onPressed: () { setState(() { _data[index]['isVisible'] = !_data[index]['isVisible']; }); }, ), ), Visibility( visible: item['isVisible'], child: Text(item['content']), ), ], ); }).toList(), ), ); } }
可以将bool类型的值转换为int类型的值,例如将false转换为0,将true转换为1,在代码中使用int类型的值即可,代码如下:
```
class MyWidget extends StatefulWidget {
@override
_MyWidgetState createState() => _MyWidgetState();
}
class _MyWidgetState extends State<MyWidget> {
List<Map<String, dynamic>> _data = [
{'title': '备注1', 'content': '这是备注1的内容', 'isVisible': 0},
{'title': '备注2', 'content': '这是备注2的内容', 'isVisible': 0},
{'title': '备注3', 'content': '这是备注3的内容', 'isVisible': 0},
];
@override
Widget build(BuildContext context) {
return Container(
margin: EdgeInsets.symmetric(vertical: 30, horizontal: 10),
child: Column(
children: _data.map((item) {
int index = _data.indexOf(item);
return Column(
children: [
ListTile(
title: Text(item['title']),
trailing: IconButton(
icon: Icon(item['isVisible'] == 1
? Icons.arrow_drop_up
: Icons.arrow_drop_down),
onPressed: () {
setState(() {
_data[index]['isVisible'] = _data[index]['isVisible'] == 1 ? 0 : 1;
});
},
),
),
Visibility(
visible: item['isVisible'] == 1,
child: Text(item['content']),
),
],
);
}).toList(),
),
);
}
}
```
padding: EdgeInsets
EdgeInsets 是一个用于设置 widget 内边距的类。它包含四个属性:left、top、right 和 bottom,分别表示 widget 左、上、右、下的内边距大小。
在 Flutter 中,可以使用 Padding widget 或 Container widget 的 padding 属性来设置内边距。例如,如果要将一个 Text widget 的内边距设置为 8.0,可以使用以下代码:
```
Padding(
padding: EdgeInsets.all(8.0),
child: Text('Hello, world!'),
)
```
这将在 Text widget 周围添加 8.0 的内边距。可以使用 EdgeInsets.only()、EdgeInsets.symmetric() 和 EdgeInsets.fromLTRB() 等方法来设置不同的内边距值。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)