import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
//1
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blueGrey,
),
home: const CustomWidget() //const MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
//5自定义widget
class CustomWidget extends LeafRenderObjectWidget {
const CustomWidget({Key? key}) : super(key: key);
@override
RenderObject createRenderObject(BuildContext context) {
// 创建 RenderObject
return RenderCustomObject();
}
@override
void updateRenderObject(
BuildContext context, RenderCustomObject renderObject) {
// 更新 RenderObject
super.updateRenderObject(context, renderObject);
}
}
class RenderCustomObject extends RenderBox {
@override
void performLayout() {
// 实现布局逻辑
}
@override
void paint(PaintingContext context, Offset offset) {
var paint = Paint()
..isAntiAlias = true
..style = PaintingStyle.stroke //填充
..color = Colors.blue; //背景为纸黄色
context.canvas.drawLine(Offset.zero, const Offset(30, 60), paint);
}
}
网友评论