#例子01

import 'package:flutter/material.dart';
void main() => runApp(RowWidget());
class RowWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: "Flutter",
home: Scaffold(
appBar: AppBar(
title: Text("Row示例"),
),
body: Padding(
padding: EdgeInsets.all(40.0),
child: Row(
children: <Widget>[
Text("Android进阶之光"),
Text("Android进阶解密"),
],
),
),
),
);
}
}
#例子02

import 'package:flutter/material.dart';
void main() => runApp(RowWidget());
class RowWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: "Flutter",
home: Scaffold(
appBar: AppBar(
title: Text("Row示例"),
),
body: Padding(
padding: EdgeInsets.all(40.0),
child: Row(
children: <Widget>[
Text("Android进阶之光"),
Text("Android进阶解密"),
],
),
),
),
);
}
}
#例子03

import 'package:flutter/material.dart';
void main() => runApp(StackWidget());
class StackWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: "Flutter",
home: Scaffold(
appBar: AppBar(
title: Text("层式布局示例"),
),
body: Stack(
fit: StackFit.expand,
children: <Widget>[
Positioned(
left: 90.0,
top: 120.0,
child: Image.asset(
"images/hao.jpg",
width: 200.0,
fit: BoxFit.cover,
),
),
Container(
child: Text('Android进阶三部曲第二部',
style: TextStyle(
color: Colors.lightBlue, fontSize: 20.0)),
height: 50.0,
width: 100.0,
alignment: Alignment.center,
)
],
),
),
);
}
}
#例子04

import 'package:flutter/material.dart';
void main() => runApp(FlexWidget());
class FlexWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: "Flutter",
home: Scaffold(
appBar: AppBar(
title: Text("弹性布局示例"),
),
body: Flex(
direction: Axis.horizontal,//1
children: <Widget>[
Expanded(
flex: 1,
child: Container(
height: 60.0,
width: 30.0,
color: Colors.red,
),
),
Expanded(
flex: 3,
child: Container(
height: 60.0,
width: 30.0,
color: Colors.yellow,
),
),
Expanded(
flex: 1,
child: Container(
height: 60.0,
width: 30.0,
color: Colors.blue,
),
),
],
),
),
);
}
}
#例子05


import 'dart:convert';
import 'dart:io';
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key}) : super(key: key);
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
var _ipAddress = 'Unknown';
_getIPAddress() async {//1
var url = 'https://httpbin.org/ip';
Dio _dio = Dio();
String result;
try {
var response = await _dio.get(url);//2
if (response.statusCode == HttpStatus.ok) {
var data= jsonDecode(response.toString());//3
result = data['origin'];
} else {
result =
'Error getting IP status ${response.statusCode}';
}
} catch (exception) {
result =exception.toString();
}
if (!mounted) return;
setState(() {
_ipAddress = result;//4
});
}
@override
Widget build(BuildContext context) {
var spacer = SizedBox(height: 10.0);
return Scaffold(
body: Padding(
padding: EdgeInsets.all(100.0),
child: Column(
children: <Widget>[
Text('IP地址为:'),
spacer,
Text('$_ipAddress'),
spacer,
RaisedButton(
onPressed: _getIPAddress,
child: Text('请求网络'),
),
],
),
),
);
}
}