三边圆形文本输入字段,一侧矩形在颤动中

Three sides circular textinputfield with one side rectangle in flutter

我需要添加一个文本字段,它有 3 个边的圆形和一个右上角和正常的矩形边。 我正在尝试使用给我边界的 OutlineInputBorder 来做到这一点。 但是我需要实现这个设计。

由于我没有足够的声誉,我不能添加图像。 如果有人帮助我,这将很有帮助。

    new Theme(
          data: new ThemeData(
            primaryColor: Colors.blue,
          ),
          child: TextFormField(
            style: new TextStyle(
              color: Color(0xff651515),
            ),
            autofocus: false,
            obscureText: false,
            keyboardType: TextInputType.text,

            decoration: InputDecoration(
              filled: true,
              border: new OutlineInputBorder(
                borderRadius: BorderRadius.all(Radius.circular(10))
              ),
              fillColor: Colors.black12,
              labelText: TextDisplayConstants.EMAIL,
              labelStyle: TextStyle(
                color: Color(0xffa4a4a4),
                fontSize: 14,
              ),
            ),[enter image description here][1]
          ),
        ),

试试这个:

演示:

示例代码:

OutlineInputBorder(
           borderRadius: BorderRadius.only(
                topLeft: Radius.circular(10),
                bottomLeft: Radius.circular(10),
                bottomRight: Radius.circular(10),
                topRight: Radius.circular(0)),
          )

只需在 Textformfield 代码中替换您的边框,例如,

border: new OutlineInputBorder(
                    borderRadius: BorderRadius.only(
                      topLeft: Radius.circular(20),
                      topRight: Radius.circular(20),
                      bottomLeft: Radius.circular(20),
                      bottomRight: Radius.circular(0),
                    ),
                  ),

在您想要矩形边框的一侧添加 Radius.circular(0),例如 bottomRight:Radius.circular(0)

    border: new OutlineInputBorder(
                    borderRadius: BorderRadius.only(
                           bottomLeft: Radius.circular(20),
                           topLeft: Radius.circular(20),
                           topRight: Radius.circular(20)
                                                   )
                                  ),

TextFormField

TextFormField(
        style: new TextStyle(
          color: Color(0xff651515),
        ),
        autofocus: false,
        obscureText: false,
        keyboardType: TextInputType.text,

        decoration: InputDecoration(
          filled: true,
          border: new OutlineInputBorder(
            borderRadius: BorderRadius.only(bottomLeft: Radius.circular(20),topLeft: Radius.circular(20),topRight: Radius.circular(20))
          ),
          fillColor: Colors.black12,

          labelStyle: TextStyle(
            color: Color(0xffa4a4a4),
            fontSize: 14,
          ),
        )
      ),