В моем коде внутри ListView.Builder
есть Card()
виджет. Эта карта занимает все пустое вертикальное пространство, оставляя пустое пространство, от которого я хочу избавиться. Я хочу, чтобы карта заканчивалась после последнего элемента (синий RaisedButton) в строке. (Установка размера экрана в жестком коде не подходит.) Я пытался обернуть строку в Flexible()
, но это не помогло решить проблему.
результат доктора флаттера:
[✓] Flutter (Channel stable, v1.12.13+hotfix.7, on Mac OS X 10.15.1 19B88,
locale en-LK)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 11.3)
[✓] Android Studio (version 3.5)
[✓] VS Code (version 1.42.1)
[✓] Connected device (1 available)
• No issues found!
proitzens-mini:~ proitzen$ flutter doctor -v
[✓] Flutter (Channel stable, v1.12.13+hotfix.7, on Mac OS X 10.15.1 19B88, locale en-LK)
• Flutter version 1.12.13+hotfix.7 at /Users/proitzen/Developer/flutter
• Framework revision 9f5ff2306b (4 weeks ago), 2020-01-26 22:38:26 -0800
• Engine revision a67792536c
• Dart version 2.7.0
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at /Users/proitzen/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.2
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 11.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.3, Build version 11C29
• CocoaPods version 1.8.4
[✓] Android Studio (version 3.5)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 41.0.2
• Dart plugin version 191.8593
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
[✓] VS Code (version 1.42.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.8.1
[✓] Connected device (1 available)
• P10 • C8W7KTMJWP • android-arm64 • Android 7.1.2 (API 25)
• No issues found!
Вот метод Listview.builder()
return ListView.builder(
itemBuilder: (BuildContext context, int index) {
if (noData) {
return _noBookingsForDay();
} else {
if (data[date] != null &&
data[date].length > 0 &&
data[date][index] != null) {
final bookingData = Booking.fromJson(data[date][index]);
return Container(
margin: EdgeInsets.only(left: 35.0,top: 5.0,bottom: 5.0),
child: Card(
shape: RoundedRectangleBorder(
borderRadius:
BorderRadius.all(Radius.circular(15.0)),
),
elevation: 15.0,
child: Row(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
FractionalTranslation(
translation: Offset(-0.4, 0.0),
child: Align(
child: CircleAvatar(
backgroundImage: NetworkImage(
bookingData.childPicUrl),
radius: 40.0,
),
alignment:
FractionalOffset(0.5, 0.0),
),
),
SizedBox(width: 5.0),
Text(bookingData.room,
style: TextStyle(
fontSize: 16.0,
fontWeight: FontWeight.bold)),
SizedBox(width: 30.0),
GestureDetector(
child: RaisedButton(
color: Colors.blue,
onPressed: _showChangeSchdl,
child: Text(
"09:00 a.m - 18:00 p.m",
style: TextStyle(
fontSize: 16.0,
color: Colors.white,))),
),
SizedBox(width: 10.0),
],
)),
);
} else {
return Center(child: Text("No data found!"));
}
}
},
itemCount: (noData == false && data[date] != null)
? data[date].length
: 0,
);