chooseWork.dart 7.94 KB

import 'package:flutter/material.dart';

import 'artifact.dart';
class chooseWork extends StatefulWidget{
  @override
  State<StatefulWidget> createState() {
    return _chooseWork();
  }
}
class _chooseWork extends State<chooseWork>{

  List<DropdownMenuItem> getListData(){
    List<DropdownMenuItem> items=new List();
    DropdownMenuItem dropdownMenuItem1=new DropdownMenuItem(
      child:new Text('1'),
      value: '1',
    );
    items.add(dropdownMenuItem1);
    DropdownMenuItem dropdownMenuItem2=new DropdownMenuItem(
      child:new Text('2'),
      value: '2',
    );
    items.add(dropdownMenuItem2);
    DropdownMenuItem dropdownMenuItem3=new DropdownMenuItem(
      child:new Text('3'),
      value: '3',
    );
    items.add(dropdownMenuItem3);
    DropdownMenuItem dropdownMenuItem4=new DropdownMenuItem(
      child:new Text('4'),
      value: '4',
    );
    items.add(dropdownMenuItem4);
    DropdownMenuItem dropdownMenuItem5=new DropdownMenuItem(
      child:new Text('5'),
      value: '5',
    );
    items.add(dropdownMenuItem5);
    DropdownMenuItem dropdownMenuItem6=new DropdownMenuItem(
      child:new Text('6'),
      value: '6',
    );
    items.add(dropdownMenuItem6);
    DropdownMenuItem dropdownMenuItem7=new DropdownMenuItem(
      child:new Text('7'),
      value: '7',
    );
    items.add(dropdownMenuItem7);
    DropdownMenuItem dropdownMenuItem8=new DropdownMenuItem(
      child:new Text('8'),
      value: '8',
    );
    items.add(dropdownMenuItem8);
    DropdownMenuItem dropdownMenuItem9=new DropdownMenuItem(
      child:new Text('9'),
      value: '9',
    );
    items.add(dropdownMenuItem9);
    DropdownMenuItem dropdownMenuItem10=new DropdownMenuItem(
      child:new Text('10'),
      value: '10',
    );
    items.add(dropdownMenuItem10);
    return items;
  }

  var value;

/*  _LearnDropdownButton(){
    value=getListData()[0].value;
  }*/

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: Text("选择工序"),
        centerTitle: true, // 标题居中),
      ),
      body:  Center(
        child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
            Container(
              key: ValueKey('"land"'),
              width: 200,
              margin: EdgeInsets.only(bottom: 5),//根据需求自定义
              padding: EdgeInsets.only(left: 10),//根据需求自定义
              //设置边框,参数自定义
                decoration: BoxDecoration(
                border: Border.all(color: Colors.black38, width: 1),
                //边框圆角设置
                borderRadius: BorderRadius.vertical(
                    top: Radius.elliptical(4, 4),
                    bottom: Radius.elliptical(4, 4)),
              ),
             child: Center(
                child:DropdownButton(
                  items: getListData(),
                  underline: Container(color: Colors.white),
                  hint:new Text('请选择工作岛'),//当没有默认值的时候可以设置的提示
                  value: value,//下拉菜单选择完之后显示给用户的值
                  onChanged: (T){//下拉菜单item点击之后的回调
                    setState(() {
                      value=T;
                    });
                  },
                  elevation: 24,//设置阴影的高度
                  style: new TextStyle(//设置文本框里面文字的样式
                      color: Colors.red
                  ),
                  isDense: true,//减少按钮的高度。默认情况下,此按钮的高度与其菜单项的高度相同。如果isDense为true,则按钮的高度减少约一半。 这个当按钮嵌入添加的容器中时,非常有用
                  iconSize: 50.0,//设置三角标icon的大小
              ),
             ),
          ),

            Container(
              key: ValueKey('"process'),
              width: 200,
              margin: EdgeInsets.only(top: 10, bottom: 5),//根据需求自定义
              padding: EdgeInsets.only(left: 10),//根据需求自定义
              //设置边框,参数自定义
              decoration: BoxDecoration(
                border: Border.all(color: Colors.black38, width: 1),
                //边框圆角设置
                borderRadius: BorderRadius.vertical(
                    top: Radius.elliptical(4, 4),
                    bottom: Radius.elliptical(4, 4)),
              ),
              child: Center(
                child:DropdownButton(
                items: getListData(),
                underline: Container(color: Colors.white),
                hint:new Text('请选择工序'),//当没有默认值的时候可以设置的提示
                value: value,//下拉菜单选择完之后显示给用户的值
                onChanged: (T){//下拉菜单item点击之后的回调
                  setState(() {
                    value=T;
                  });
                },
                elevation: 24,//设置阴影的高度
                style: new TextStyle(//设置文本框里面文字的样式
                    color: Colors.red
                ),
                isDense: true,//减少按钮的高度。默认情况下,此按钮的高度与其菜单项的高度相同。如果isDense为true,则按钮的高度减少约一半。 这个当按钮嵌入添加的容器中时,非常有用
                iconSize: 50.0,//设置三角标icon的大小
              ),
              ),
            ),

            Container(
              key: ValueKey('"content'),
              width: 200,
              margin: EdgeInsets.only(top: 10, bottom: 5),//根据需求自定义
              padding: EdgeInsets.only(left: 10),//根据需求自定义
              //设置边框,参数自定义
              decoration: BoxDecoration(
                border: Border.all(color: Colors.black38, width: 1),
                //边框圆角设置
                borderRadius: BorderRadius.vertical(
                    top: Radius.elliptical(4, 4),
                    bottom: Radius.elliptical(4, 4)),
              ),
              child: Center(
                child:DropdownButton(
                  items: getListData(),
                  underline: Container(color: Colors.white),
                  hint:new Text('请选择工件'),//当没有默认值的时候可以设置的提示
                  value: value,//下拉菜单选择完之后显示给用户的值
                  onChanged: (T){//下拉菜单item点击之后的回调
                    setState(() {
                      value=T;
                    });
                  },
                  elevation: 24,//设置阴影的高度
                  style: new TextStyle(//设置文本框里面文字的样式
                      color: Colors.red
                  ),
                  isDense: true,//减少按钮的高度。默认情况下,此按钮的高度与其菜单项的高度相同。如果isDense为true,则按钮的高度减少约一半。 这个当按钮嵌入添加的容器中时,非常有用
                  iconSize: 50.0,//设置三角标icon的大小
                ),
              ),
            ),

            Container(
              height: 50,
              margin: EdgeInsets.only(left:50, right: 50, top: 40),
              width: double.infinity,
              child: RaisedButton(
                onPressed:() {
                  Navigator.push(context, MaterialPageRoute(builder: (_) {
                    return new artifact();
                  }));
                },
                child: Text('确定',
                  style: TextStyle(
                      fontSize: 20,
                      color: Colors.white
                  ),),
                color: Colors.deepOrangeAccent,
                textColor: Colors.white,
                shape: RoundedRectangleBorder(
                  borderRadius: BorderRadius.circular(4),
                ),
              ),
            ),

        ],
      ),
     ),
    );
  }
}