如何删除行子项之间的这些行
How to remove these lines between Row children
我是 flutter 的新手,我正在尝试将屏幕分成三个部分,这是我的尝试:
class Homepage extends Statelesswidget {
const HomePage({Key? key}): super (key: key);
@override
Widget build(BuildContext context) {
return Row(children: [
const Expanded(
flex: 1,
child: Scaffold(
body: Center(child: Text("Left")),
), // Scaffold
), // Expanded
Expanded(
flex: 2,
child: Scaffold(
appBar: AppBar(),
body: const Center(child: Text("Middle")),
), // Scaffold
), // Expanded
const Expanded(
flex: 1,
child: Scaffold(
body: Center(child: Text("Right")),
), // Scaffold
) // Expanded
]);
}
}
和main.dart看起来像:
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: HomePage(),
debugShowCheckedModeBanner: false,
);
}
}
结果如下:
我莫名其妙地得到了这些垂直线,我该如何摆脱它们?
欢迎使用 Flutter
这些行是您在行中每个 Expanded
小部件中使用的 Scaffold
小部件的边界。
现在,与其寻找一种方法来移除这些边框线,我建议您了解更多关于 Flutter 中的 Scaffold
小部件的信息
由于是Flutter新手,所以使用Scaffold
widget的目的,在official docs中有如下说明:
Implements the basic material design visual layout structure.
This class provides APIs for showing drawers and bottom sheets.
所以换句话说,我们使用 Scaffold
Widget 作为基本的 canvas 屏幕,具有一些属性来实现流行的布局设计,例如 AppBar
, BottomNavigationBar
、FloatingActionButton
、等等...
然后,我们在屏幕中使用一次,设置基本布局,不需要为屏幕的每个子部分使用多次
那么你的 HomePage
代码应该是这样的:
class HomePage extends StatelessWidget {
const HomePage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
body: Row(children: [
const Expanded(
flex: 1,
child: Center(child: Text("Left")),
), // Expanded
Expanded(
flex: 2,
child: Column(
children: [
AppBar(),
const Expanded(
child: Center(child: Text("Middle")),
),
],
),
),
const Expanded(
flex: 1,
child: Center(child: Text("Right")),
)
]),
);
}
}
我是 flutter 的新手,我正在尝试将屏幕分成三个部分,这是我的尝试:
class Homepage extends Statelesswidget {
const HomePage({Key? key}): super (key: key);
@override
Widget build(BuildContext context) {
return Row(children: [
const Expanded(
flex: 1,
child: Scaffold(
body: Center(child: Text("Left")),
), // Scaffold
), // Expanded
Expanded(
flex: 2,
child: Scaffold(
appBar: AppBar(),
body: const Center(child: Text("Middle")),
), // Scaffold
), // Expanded
const Expanded(
flex: 1,
child: Scaffold(
body: Center(child: Text("Right")),
), // Scaffold
) // Expanded
]);
}
}
和main.dart看起来像:
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: HomePage(),
debugShowCheckedModeBanner: false,
);
}
}
结果如下:
我莫名其妙地得到了这些垂直线,我该如何摆脱它们?
欢迎使用 Flutter
这些行是您在行中每个 Expanded
小部件中使用的 Scaffold
小部件的边界。
现在,与其寻找一种方法来移除这些边框线,我建议您了解更多关于 Flutter 中的 Scaffold
小部件的信息
由于是Flutter新手,所以使用Scaffold
widget的目的,在official docs中有如下说明:
Implements the basic material design visual layout structure.
This class provides APIs for showing drawers and bottom sheets.
所以换句话说,我们使用 Scaffold
Widget 作为基本的 canvas 屏幕,具有一些属性来实现流行的布局设计,例如 AppBar
, BottomNavigationBar
、FloatingActionButton
、等等...
然后,我们在屏幕中使用一次,设置基本布局,不需要为屏幕的每个子部分使用多次
那么你的 HomePage
代码应该是这样的:
class HomePage extends StatelessWidget {
const HomePage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
body: Row(children: [
const Expanded(
flex: 1,
child: Center(child: Text("Left")),
), // Expanded
Expanded(
flex: 2,
child: Column(
children: [
AppBar(),
const Expanded(
child: Center(child: Text("Middle")),
),
],
),
),
const Expanded(
flex: 1,
child: Center(child: Text("Right")),
)
]),
);
}
}