i底部有x像素溢出的问题。我希望页面是一个带有几张包含列的卡片的ListView。
return ListView(
shrinkWrap: true,
children: <Widget>[
Card(
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.all(5.0),
child: Text(
'Please follow the following steps to sign your document.',
style: _textTheme.body1),
),
Padding(
padding: const EdgeInsets.all(5.0),
child: Text(
'Step 1: Download, read and review the attached document.',
style: _textTheme.body1,
),
),
Padding(
padding: const EdgeInsets.all(5.0),
child: RaisedButton(
onPressed: () {
Util.launchURL('${_service.client.document}');
},
color: Colors.blueGrey,
child: ListTile(
leading: Icon(
Icons.file_download,
color: Colors.white,
),
title: Center(
child: Text(
'DOWNLOAD',
style: TextStyle(
color: Colors.white,
),
),
),
),
),
),
],
),
),
Card(
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.all(5.0),
child: Text(
'Step 2: Sign (make your signature) in the gray box below.',
style: _textTheme.body1,
),
),
Padding(
padding: const EdgeInsets.all(5.0),
child: Text(
'${_service.client.firstName} ${_service.client.lastName}',
style: _textTheme.subtitle,
),
),
Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height * .2,
child: _signatureView,
),
Padding(
padding: const EdgeInsets.all(5.0),
child: ButtonTheme(
height: 25.0,
child: RaisedButton(
onPressed: () {
_signatureView.clear();
},
color: Colors.blue,
child: ListTile(
leading: Icon(
Icons.edit,
color: Colors.white,
),
title: Center(
child: Text(
'CLEAR',
style: TextStyle(
color: Colors.white,
),
),
),
),
),
),
),
],
),
),
_service.client.jointApplication
? Card(
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.all(5.0),
child: Text(
'${_service.client.spouseFirstName} ${_service.client.spouseLastName}',
style: _textTheme.subtitle,
),
),
Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height * .2,
child: _spouseSignature,
),
Padding(
padding: const EdgeInsets.all(5.0),
child: ButtonTheme(
height: 25.0,
child: RaisedButton(
onPressed: () {
_spouseSignature.clear();
},
color: Colors.blue,
child: ListTile(
leading: Icon(
Icons.edit,
color: Colors.white,
),
title: Center(
child: Text(
'CLEAR',
style: TextStyle(
color: Colors.white,
),
),
),
),
),
),
),
],
),
)
: null,
Card(
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.all(5.0),
child: Text(
'Step 3: Submit your signature, by clicking on the Save button.',
style: _textTheme.body1,
),
),
Padding(
padding: const EdgeInsets.all(5.0),
child: ButtonTheme(
height: 25.0,
child: RaisedButton(
onPressed: () async {
if (_signatureView.isEmpty) {
Scaffold.of(context).showSnackBar(
SnackBar(
content: Text(
'Error could not save signed document. Please sign before saving'),
duration: Duration(seconds: 3),
),
);
} else {
_service.setSignature(
Uint8List.fromList(currentSignatureData.codeUnits));
await _service.submitSignature();
}
},
color: Colors.green,
child: ListTile(
leading: Icon(
Icons.check,
color: Colors.white,
),
title: Center(
child: Text(
'Save',
style: TextStyle(
color: Colors.white,
),
),
),
),
),
),
),
],
),
)
],
);
尝试一下:
return Expanded( child: ListView(
shrinkWrap: true,
children: <Widget>[
Card(
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.all(5.0),
child: Text(
'Please follow the following steps to sign your document.',
style: _textTheme.body1),
),
Padding(
padding: const EdgeInsets.all(5.0),
child: Text(
'Step 1: Download, read and review the attached document.',
style: _textTheme.body1,
),
),
Padding(
padding: const EdgeInsets.all(5.0),
child: RaisedButton(
onPressed: () {
Util.launchURL('${_service.client.document}');
},
color: Colors.blueGrey,
child: ListTile(
leading: Icon(
Icons.file_download,
color: Colors.white,
),
title: Center(
child: Text(
'DOWNLOAD',
style: TextStyle(
color: Colors.white,
),
),
),
),
),
),
],
),
),
Card(
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.all(5.0),
child: Text(
'Step 2: Sign (make your signature) in the gray box below.',
style: _textTheme.body1,
),
),
Padding(
padding: const EdgeInsets.all(5.0),
child: Text(
'${_service.client.firstName} ${_service.client.lastName}',
style: _textTheme.subtitle,
),
),
Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height * .2,
child: _signatureView,
),
Padding(
padding: const EdgeInsets.all(5.0),
child: ButtonTheme(
height: 25.0,
child: RaisedButton(
onPressed: () {
_signatureView.clear();
},
color: Colors.blue,
child: ListTile(
leading: Icon(
Icons.edit,
color: Colors.white,
),
title: Center(
child: Text(
'CLEAR',
style: TextStyle(
color: Colors.white,
),
),
),
),
),
),
),
],
),
),
_service.client.jointApplication
? Card(
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.all(5.0),
child: Text(
'${_service.client.spouseFirstName} ${_service.client.spouseLastName}',
style: _textTheme.subtitle,
),
),
Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height * .2,
child: _spouseSignature,
),
Padding(
padding: const EdgeInsets.all(5.0),
child: ButtonTheme(
height: 25.0,
child: RaisedButton(
onPressed: () {
_spouseSignature.clear();
},
color: Colors.blue,
child: ListTile(
leading: Icon(
Icons.edit,
color: Colors.white,
),
title: Center(
child: Text(
'CLEAR',
style: TextStyle(
color: Colors.white,
),
),
),
),
),
),
),
],
),
)
: null,
Card(
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.all(5.0),
child: Text(
'Step 3: Submit your signature, by clicking on the Save button.',
style: _textTheme.body1,
),
),
Padding(
padding: const EdgeInsets.all(5.0),
child: ButtonTheme(
height: 25.0,
child: RaisedButton(
onPressed: () async {
if (_signatureView.isEmpty) {
Scaffold.of(context).showSnackBar(
SnackBar(
content: Text(
'Error could not save signed document. Please sign before saving'),
duration: Duration(seconds: 3),
),
);
} else {
_service.setSignature(
Uint8List.fromList(currentSignatureData.codeUnits));
await _service.submitSignature();
}
},
color: Colors.green,
child: ListTile(
leading: Icon(
Icons.check,
color: Colors.white,
),
title: Center(
child: Text(
'Save',
style: TextStyle(
color: Colors.white,
),
),
),
),
),
),
),
],
),
)
],
)
);