Flutter Widget(二)SafeArea
2018-12-12 本文已影响64人
徐爱卿
![](https://img.haomeiwen.com/i3884536/33d4ced049938cb9.png)
博客地址:flutterall.com
先看代码:
class FlutterAlign extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Align(
alignment: Alignment(-1, -1),
child: Container(
child: Text(
"Hello",
),
),
);
}
}
![](https://img.haomeiwen.com/i3884536/74528c03bd16c1fe.png)
![](https://img.haomeiwen.com/i3884536/37a130e68afa714c.png)
可以看到,在刘海屏幕中,显示位置不是我们期待的。大部分刘海区域不是我们所触发按钮的区域。这是我们可以使用SafeArea Widget来很好的解决这个问题。
class FlutterAlign extends StatelessWidget {
@override
Widget build(BuildContext context) {
return SafeArea(
child: Align(
alignment: Alignment(-1, -1),
child: Container(
child: Text(
"Hello",
),
),
),
);
}
}
![](https://img.haomeiwen.com/i3884536/f0791b12a4ddb015.png)
当然,使用这个Widget也能很好的处理iPhone X类似的底部bottom的区域。
class FlutterAlign extends StatelessWidget {
@override
Widget build(BuildContext context) {
return SafeArea(
child: Align(
alignment: Alignment(-1, 1),
child: Container(
child: Text(
"Hello",
),
),
),
);
}
}
![](https://img.haomeiwen.com/i3884536/be0f39a041dddfd0.png)
所以大部分情况下,使用SafeArea能很好的解决刘海,不规则屏幕的显示问题。