Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振文本字段添加框阴影_Flutter_User Interface_Dart_Uitextfield_Flutter Layout - Fatal编程技术网

Flutter 颤振文本字段添加框阴影

Flutter 颤振文本字段添加框阴影,flutter,user-interface,dart,uitextfield,flutter-layout,Flutter,User Interface,Dart,Uitextfield,Flutter Layout,我尝试使用Container创建具有阴影效果的TextField,如下所示: 代码: Container( decoration: BoxDecoration( color: Colors.white, borderRadius: new BorderRadius.circular(5.0), boxShadow: [ BoxShadow( color: Colors.black12, spreadRadius: 1,

我尝试使用
Container
创建具有阴影效果的
TextField
,如下所示:

代码:

Container(
  decoration: BoxDecoration(
    color: Colors.white,
    borderRadius: new BorderRadius.circular(5.0),
    boxShadow: [
      BoxShadow(
        color: Colors.black12,
        spreadRadius: 1,
        blurRadius: 3,
      ),
    ],
  ),
  child: TextFormField(
    validator: (value) {
      if (value.isEmpty) {
        return 'Product title required';
      }
      return null;
    },
    decoration: InputDecoration(
      isDense: true,
      hintText: 'Product title',
      contentPadding: EdgeInsets.all(18.0),
      filled: true,
      fillColor: Colors.white,
      border: OutlineInputBorder(
        borderRadius: new BorderRadius.circular(10.0),
        borderSide: BorderSide.none,
      ),
    ),
    textAlign: TextAlign.start,
    maxLines: 1,
  ),
)
但当验证出现错误时,容器内部会显示错误消息,这在我的情况下是不正确的:

如何创建类似此阴影的
TextField
,并正确显示错误消息和错误边框颜色,如下图所示,但带有阴影:

尝试用“材质”小部件包装它

Material(
 elevation: 5,
 child: TextFormField(
    validator: (value) {
      if (value.isEmpty) {
        return 'Product title required';
      }
      return null;
    },
    decoration: InputDecoration(
      isDense: true,
      hintText: 'Product title',
      contentPadding: EdgeInsets.all(18.0),
      filled: true,
      fillColor: Colors.white,
      border: OutlineInputBorder(
        borderRadius: new BorderRadius.circular(10.0),
        borderSide: BorderSide.none,
      ),
    ),
    textAlign: TextAlign.start,
    maxLines: 1,
  ),
),