和Positioned组件功能一样,属性名不同。只能用于Stack中,可以指定左上右下的距离对某个组件进行位置精确安放。

相关组件

Positioned AnimatedPositionedDirectional

PositionedDirectional基本使用

【child】 : 组件 【Widget】
【top】 : 到父顶距离 【double】
【end】 : 到父右距离 【double】
【start】 : 到父左距离 【double】
【bottom】 : 到父底距离 【double】
image.png

  1. import 'package:flutter/material.dart';
  2. class CustomPositionedDirectional extends StatelessWidget {
  3. @override
  4. Widget build(BuildContext context) {
  5. var yellowBox = Container(
  6. color: Colors.yellow,
  7. height: 100,
  8. width: 100,
  9. );
  10. var redBox = Container(
  11. color: Colors.red,
  12. height: 90,
  13. width: 90,
  14. );
  15. var greenBox = Container(
  16. color: Colors.green,
  17. height: 80,
  18. width: 80,
  19. );
  20. var cyanBox = Container(
  21. color: Colors.cyanAccent,
  22. height: 70,
  23. width: 70,
  24. );
  25. return Container(
  26. width: 200,
  27. height: 120,
  28. color: Colors.grey.withAlpha(33),
  29. child: Stack(
  30. children: <Widget>[
  31. yellowBox,
  32. redBox,
  33. PositionedDirectional(top: 20, start: 20, child: greenBox),
  34. PositionedDirectional(
  35. child: cyanBox,
  36. bottom: 10,
  37. end: 10,
  38. )
  39. ],
  40. ));
  41. }
  42. }