Flutter 如何在颤振中创建自定义材质文本字段

Flutter 如何在颤振中创建自定义材质文本字段,flutter,dart,Flutter,Dart,我无法自定义要显示在文本字段内的输入标签。下面我附上了样品模型供您参考。如何纠正我的问题? 提前谢谢。 如果希望标签始终位于顶部(即使文本字段为空),那么一种方法是创建自定义文本字段小部件,并将所有视觉效果像这样堆叠在顶部 Stack( children: <Widget>[ Container( width: double.infinity, height: 60,

我无法自定义要显示在文本字段内的输入标签。下面我附上了样品模型供您参考。如何纠正我的问题? 提前谢谢。

如果希望标签始终位于顶部(即使文本字段为空),那么一种方法是创建自定义文本字段小部件,并将所有视觉效果像这样堆叠在顶部

    Stack(
        children: <Widget>[
          Container(
            width: double.infinity,
            height: 60,
            decoration: BoxDecoration(
              color: Colors.white,
              border: Border.all(color: Colors.grey),
              borderRadius: BorderRadius.circular(30),
            ),
          ),
          Positioned(
            top: 3,
            left: 30,
            child: Text(
              'Email Address',
              style: TextStyle(fontSize: 14, color: Colors.grey),
            ),
          ),
          Positioned(
            left: 30,
            bottom: 3,
            right: 30,
            child: TextField(
              decoration: InputDecoration(
                  border: InputBorder.none, hintText: 'Enter email'),
              onChanged: (s) {
                text = s;
              },
            ),
          )
        ],
      ),
堆栈(
儿童:[
容器(
宽度:double.infinity,
身高:60,
装饰:盒子装饰(
颜色:颜色,白色,
边框:边框。全部(颜色:颜色。灰色),
边界半径:边界半径。圆形(30),
),
),
定位(
排名:3,
左:30,,
子:文本(
“电子邮件地址”,
样式:TextStyle(字体大小:14,颜色:Colors.grey),
),
),
定位(
左:30,,
底部:3,
右:30,,
孩子:TextField(
装饰:输入装饰(
边框:InputBorder.none,hintText:“输入电子邮件”),
一旦更改:(s){
text=s;
},
),
)
],
),
输出


红线是什么?你想让它在那里吗?如何处理焦点?例如聚焦时改变边框颜色?