1.
city_pickers: ^0.1.9
import 'package:city_pickers/city_pickers.dart';
2.
class TabsPage extends StatefulWidget{
@override
_TabsPageState createState() => new _TabsPageState();
}
class _TabsPageState extends State<TabsPage> with SingleTickerProviderStateMixin{
TabController _tabController;
String cityName;
//初始化,一加载便会触发该方法
void initState(){
cityName='杭州';
super.initState();
_tabController = new TabController(
vsync: this,
length: 2,
);
}
Widget build(BuildContext context){
//初始化
ScreenUtil.instance = ScreenUtil(width: 750, height: 1334)..init(context);
return DefaultTabController(
length: 2,
child: Scaffold(
appBar: appBar(),
),
);
}
Widget appBar(){
return AppBar(
centerTitle: true,
leading: Builder(
builder: (context) => GestureDetector(
child: Padding(
padding: EdgeInsets.all(8.0),
child: IconButton(
icon: Icon(Icons.person),
onPressed: null,
)
),
onTap: () => Scaffold.of(context).openDrawer(),
),
),
title: Container(
child: FlatButton(
// color: Colors.yellow,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'$cityName',
style: TextStyle(
color: Colors.black,
fontSize: ScreenUtil.getInstance().setSp(30)
),
textAlign: TextAlign.left,
),
IconButton(
alignment: Alignment.centerLeft,
icon: Icon(
Icons.arrow_drop_down,
color: Color.fromRGBO(46, 48, 56, 1),
),
onPressed: (){
debugPrint('down');
},
)
],
),
onPressed: (){
show(context);
},
),
),
);
}
//调用三级联动
show(BuildContext context) async {
//Result result = await CityPickers.showCityPicker(
//context: context,
//);
//城市列表
Result result = await CityPickers.showCitiesSelector(
context: context,
);
print(result);
setState(() {
this.cityName = result.cityName;
});
}
}