城市选择选择 / 三级联动

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; }); } }

  

  

转载于:https://www.cnblogs.com/xhrr/p/11425608.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值