123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import 'package:flutter/material.dart';
- import 'package:flutter/cupertino.dart';
- import 'package:cool_ui/cool_ui.dart';
- class PaintEventDemo extends StatefulWidget{
- @override
- State<StatefulWidget> createState() {
- // TODO: implement createState
- return PaintEventDemoState();
- }
- }
- class PaintEventDemoState extends State<PaintEventDemo>{
- bool isPaintBackgroud = false;
- @override
- Widget build(BuildContext context) {
- // TODO: implement build
- return Scaffold(
- appBar: AppBar(
- title: Text("PaintEvent Demo"),
- ),
- body: Row(
- children: <Widget>[
- FlatButton(onPressed: (){
- setState((){
- isPaintBackgroud = !isPaintBackgroud;
- });
- }, child: Text(isPaintBackgroud?"渲染前填充颜色":"渲染后填充颜色")),
- PaintEvent(
- child: Text("子Widget文字"),
- paintAfter: (context,offset,size){
- if(!isPaintBackgroud){
- final Paint paint = Paint();
- paint.color = Colors.red;
- context.canvas.drawRect(offset&size, paint);
- }
- },paintBefore: (context,offset,size){
- if(isPaintBackgroud){
- final Paint paint = Paint();
- paint.color = Colors.red;
- context.canvas.drawRect(offset&size, paint);
- }
- },
- )
- ],
- )
- );
- }
- }
|