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

Posted

技术标签:

【中文标题】三边圆形文本输入字段,一侧矩形颤动【英文标题】:Three sides circular textinputfield with one side rectangle in flutter 【发布时间】:2020-04-12 20:02:24 【问题描述】:

我需要添加一个文本字段,该文本字段具有 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]
          ),
        ),

【问题讨论】:

【参考方案1】:

试试这个:

演示:

示例代码:

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

【讨论】:

另外,如果有人需要为边框使用颜色,你可以使用 like-----borderSide: BorderSide(color: Colors.transparent)。【参考方案2】:

只需在 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)

【讨论】:

【参考方案3】:
    border: new OutlineInputBorder(
                    borderRadius: BorderRadius.only(
                           bottomLeft: Radius.circular(20),
                           topLeft: Radius.circular(20),
                           topRight: Radius.circular(20)
                                                   )
                                  ),

文本表单域

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,
          ),
        )
      ),

【讨论】:

以上是关于三边圆形文本输入字段,一侧矩形颤动的主要内容,如果未能解决你的问题,请参考以下文章

如何在通过文本字段和圆形矩形按钮提供的表格视图单元格中显示数据

使用按钮单击生成文本字段小部件并保存文本输入颤动

用户在颤动中输入1个字符后如何自动聚焦下一个文本字段

用C语言编写程序,求面积系统(圆形,三角形,矩形)循环版。

三边三角形的面积

在按钮单击时更新颤动中的文本字段