最近我制作了應用程式并在listview上發現了問題,
我想在底部定位容器并在其中有串列視圖。
串列視圖頂部會出現一個空格
我不希望串列視圖頂部有空間
我怎樣才能洗掉空間?
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:run_flutter/controller.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const MainPage(),
);
}
}
class MainPage extends StatelessWidget {
const MainPage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
TestController testController = TestController();
return Scaffold(
body: Container(
width: Get.width,
height: Get.height,
child: Stack(
children: [
Positioned(
bottom: 0,
child: AnimatedContainer(
height: 50,
width: Get.width,
color: Colors.amber,
duration: Duration(milliseconds: 100),
child: ListView(
children: [
Text("data"),
],
),
),
),
],
),
),
);
}
}

uj5u.com熱心網友回復:
原因寫在官方 ListView 類規范中。
https://api.flutter.dev/flutter/widgets/ListView-class.html#external-links:~:text=By default, ListView will automatically pad,link
默認情況下,ListView 將自動填充串列的可滾動末端,以避免 MediaQuery 填充指示的部分障礙。為避免此行為,請使用零填充屬性覆寫。
試著喜歡這個。
ListView(
padding: EdgeInsets.zero,
...
);
uj5u.com熱心網友回復:
根據檔案,
默認情況下,[
ListView] 將自動填充串列的可滾動末端以避免由 [MediaQuery] 的填充指示的部分障礙。padding為避免此行為,請使用零 [ ] 屬性覆寫。
您必須使用 removePadding 建構式(removeTop 為 true)添加 MediaQuery,以洗掉有意的額外上邊距。
這是代碼片段:
MediaQuery.removePadding(
context: context,
removeTop: true,
child: ListView.builder(
.......
)
);
有關更多資訊,請關注此問題。
uj5u.com熱心網友回復:
只需洗掉您的 底部:0或添加頂部:0
class MainPage extends StatelessWidget {
const MainPage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
TestController testController = TestController();
return Scaffold(
body: Container(
width: Get.width,
height: Get.height,
child: Stack(
children: [
Positioned(
child: AnimatedContainer(
height: 50,
width: Get.width,
color: Colors.amber,
duration: Duration(milliseconds: 100),
child: ListView(
children: [
Text("data"),
],
),
),
),
],
),
),
);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/425482.html
