Baseline即根据child的baseline定位child的小部件,即使得不同的child都处在规定的基线位置,尤其是多用在文字排版中,比如使得不同大小的文字处于同一水平线。
const Baseline({
Key key,
@required this.baseline,
@required this.baselineType,
Widget child
})
alphabetic -用于对齐字母字符的字形底部的水平线;ideographic-用来对齐表意文字的水平线// Baseline
import 'package:flutter/material.dart';
class BaselineLearn extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: AppBar(
title: Text('Baseline')
),
// 根据子元素的基线定位子元素的小部件,即使得不同的child都处在规定的基线位置,尤其是多用在文字排版中,比如使得不同大小的文字处于同一水平线
body: new Row(
children: <Widget>[
Baseline(
baseline: 100,
// 对齐的对象类型
baselineType: TextBaseline.alphabetic,
child: Text('hello',
style: TextStyle(
fontSize: 20,
),
)
),
Baseline(
baseline: 100,
baselineType: TextBaseline.alphabetic,
child: Text('world',
style: TextStyle(fontSize: 40),
)
),
],
)
);
}
}

AspectRatio即用于设置特定长宽比的组件,主要参数aspectRatio用于设置要是使用的长宽比,使用较简单。
const AspectRatio({
Key key,
@required this.aspectRatio,
Widget child
})
// AspectRatio
import 'package:flutter/material.dart';
class AspectRatioLearn extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: AppBar(
title: Text('AspectRatio')
),
body: Center(
child: Container(
width: 300,
decoration: BoxDecoration(
border: Border.all(),
),
// 创建具有特定长宽比的小部件。
child: AspectRatio(
// 一个比例为 18:9 的“全面屏”比例
aspectRatio: 9.0/18.0,
child: Container(
color: Colors.blueAccent,
)
),
),
)
);
}
}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4295/viewspace-2822793/ ,如需转载,请注明出处,否则将追究法律责任。