Flutter 完整开发实战详解自定义布局
在Flutter中,自定义布局可以通过创建一个继承自StatelessWidget
或StatefulWidget
的子类来实现。以下是一个自定义布局的简单示例,其中包含一个带有背景颜色和边距的容器:
import 'package:flutter/material.dart';
class CustomContainer extends StatelessWidget {
final Widget child;
final Color backgroundColor;
final EdgeInsetsGeometry padding;
const CustomContainer({
Key key,
this.child,
this.backgroundColor = Colors.transparent,
this.padding = EdgeInsets.zero,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
child: child,
padding: padding,
color: backgroundColor,
);
}
}
// 使用自定义布局
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: CustomContainer(
child: Text('自定义布局示例'),
backgroundColor: Colors.blue,
padding: EdgeInsets.all(16),
),
),
),
);
}
}
void main() {
runApp(MyApp());
}
在这个例子中,CustomContainer
类继承自StatelessWidget
,并在其build
方法中返回一个带有指定backgroundColor
和padding
的Container
。在MyApp
类中,我们使用CustomContainer
来显示一个文本,并给它一个蓝色背景和周围的16像素边距。这个自定义布局可以根据需要进一步扩展,以包含更复杂的子组件和布局逻辑。
评论已关闭