可容纳一个子组件,通过控制基线高度来控制子组件的位置。一般用于文字组件。

相关组件

Text

Baseline基本使用

  1. <br />【child】 : 孩子组件 【Widget】<br />【baseline】 : 基线位置 【double】<br />【baselineType】 : 基线类型 【TextBaseline】<br />![196.gif](https://cdn.nlark.com/yuque/0/2020/gif/326147/1589508836830-928e9e4f-1414-4d53-9b8a-243ab39e07c1.gif#align=left&display=inline&height=224&margin=%5Bobject%20Object%5D&name=196.gif&originHeight=224&originWidth=370&size=300196&status=done&style=none&width=370)
  1. import 'package:flutter/material.dart';
  2. class CustomBaseline extends StatefulWidget {
  3. @override
  4. _CustomBaselineState createState() => _CustomBaselineState();
  5. }
  6. class _CustomBaselineState extends State<CustomBaseline> {
  7. double _baseline=20;
  8. @override
  9. Widget build(BuildContext context) {
  10. var childBox = Text(
  11. '你好,Flutter',
  12. style: TextStyle(fontSize: 20,fontFamily: "Menlo"),
  13. );
  14. var baseline = Baseline(
  15. child: childBox,
  16. baseline: _baseline,
  17. baselineType: TextBaseline.alphabetic
  18. );
  19. return Column(
  20. children: <Widget>[
  21. _buildSlider(),
  22. Container(
  23. width: 100/0.618,
  24. height: 100,
  25. color: Colors.grey.withAlpha(22),
  26. child: baseline,
  27. ),
  28. ],
  29. );
  30. }
  31. Widget _buildSlider() => Slider(
  32. divisions: 20,
  33. min: 0,
  34. max: 60,
  35. label: _baseline.toString(),
  36. value: _baseline,
  37. onChanged: (v) => setState(() => _baseline = v));
  38. }