Size对象的渲染是什么



我需要为PreferredSize创建一个具有特定大小的上下文,问题是为什么返回高度值来自容器高度而不考虑Size get preferredSize => const Size.fromHeight(100);

脚手架代码为:

class HomeScreen extends StatefulWidget {
const HomeScreen();
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar:  const _AppBar(), //the cursor is here
);
}

_AppBar类是:

class _AppBar extends StatelessWidget with PreferredSizeWidget {
const _AppBar();
@override
Size get preferredSize => const Size.fromHeight(100);
@override
Widget build(BuildContext context) {
return const Color(0xFF257863),
child: Container(
height: MediaQuery.of(context).size.height * 0.18,
),
);
}
}

preferredSize被一些父窗口小部件用来设置内部窗口小部件的最大约束。

内部小部件的大小不必满足这些约束,但是大小由内部小部件本身决定。

有关约束和大小的更多信息,请参阅Flutter文档中的"了解约束"。

最新更新