实现了PreferredSizeWidget接口,可容纳一个子组件,设置优先尺寸,不会对其子组件施加任何约束。

相关组件

AppBar Scaffold

PreferredSize调整AppBar高度

【preferredSize】 : 尺寸 【Size】
image.png

  1. import 'package:flutter/material.dart';
  2. class AdapterPreferredSize extends StatelessWidget {
  3. @override
  4. Widget build(BuildContext context) {
  5. return Container(
  6. height: 200,
  7. child: Scaffold(
  8. appBar: PreferredSize(
  9. preferredSize: Size.fromHeight(150),
  10. child: AppBar(
  11. title: Text('PreferredSize'),
  12. bottom: PreferredSize(
  13. preferredSize: Size.fromHeight(40),
  14. child: Container(
  15. height: 40,
  16. color: Colors.orange,
  17. ),
  18. ),
  19. ),
  20. ),
  21. ),
  22. );
  23. }
  24. }

PreferredSize的转化使用

【PreferredSize将普通组件转化为PreferredSizeWidget
image.png

import 'package:flutter/material.dart';
class AdapterPreferredSize extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      height: 200,
      child: Scaffold(
        appBar: PreferredSize(
          preferredSize: Size.fromHeight(150),
          child: AppBar(
            title: Text('PreferredSize'),
            bottom: PreferredSize(
              preferredSize: Size.fromHeight(40),
              child: Container(
                height: 40,
                color: Colors.orange,
              ),
            ),
          ),
        ),
      ),
    );
  }
}