import 'package:flutter/material.dart'; class CustomVisibility extends StatelessWidget { @override Widget build(BuildContext context) { return Wrap( spacing: 10, children: [ _buildVisibility(true), _buildVisibility(false), ], ); } _buildVisibility(bool visible) { var box = Container( height: 30, width: 30, color: Colors.blue, ); return Container( width: 150, height: 150 * 0.618, color: Colors.cyanAccent.withAlpha(33), child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ box, Visibility( visible: visible, child: Container( alignment: Alignment.center, height: 80 * 0.618, width: 80, color: Colors.red, child: Text( "visible\ntrue", style: TextStyle(fontSize: 20), ), )), box, ], ), ); } } class ReplacementVisibility extends StatelessWidget { @override Widget build(BuildContext context) { return Wrap( spacing: 10, children: [ _buildVisibility(true), _buildVisibility(false), ], ); } _buildVisibility(bool visible) { var box = Container( height: 30, width: 30, color: Colors.blue, ); return Container( width: 150, height: 150 * 0.618, color: Colors.cyanAccent.withAlpha(33), child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ box, Visibility( visible: visible, replacement: Container( alignment: Alignment.center, height: 80 * 0.618, width: 80, ), child: Container( alignment: Alignment.center, height: 80 * 0.618, width: 80, color: Colors.red, child: Text( "visible\ntrue", style: TextStyle(fontSize: 20), ), )), box, ], ), ); } } //class VisibilityPage extends StatefulWidget { // @override // _VisibilityPageState createState() => _VisibilityPageState(); //} // //class _VisibilityPageState extends State { // @override // Widget build(BuildContext context) { // var visibility = Visibility( // visible: false, // replacement: Container( // alignment: Alignment.center, // height: 100, // width: 100, // ), // child: Container( // alignment: Alignment.center, // height: 100, // width: 100, // color: Colors.blue, // child: Text( // "Visibility", // style: TextStyle(fontSize: 20), // ), // )); // // var radBox = Container( // height: 50, // width: 50, // color: Colors.red, // ); // // return Container( // width: 200, // height: 200, // child: Row( // children: [radBox, visibility, radBox], // ), // ); // } //}