【问题标题】:Create a Flutter TextFormField with two corners rounded and two straight cut corners创建一个具有两个圆角和两个直切角的 Flutter TextFormField
【发布时间】:2021-11-22 17:27:16
【问题描述】:

是否可以在 Flutter 中创建一个带有两个圆角的 TextFormField,然后是两个直角,就像您在这张图片中看到的那样?

这可以使用Material 小部件来完成,用于常规形状创建,如demonstrated here。在InputDecoration 小部件中,我没有看到除圆角之外的其他方法,除非这可以通过InputDecorator class 来完成?

我独特的 TextFormField 边框的当前 InputDecoration 常量:

const InputDecoration kInputStringFields = InputDecoration(
  hintStyle: TextStyle(
    fontFamily: kBarlowFont,
    fontSize: 16.0,
  ),
  fillColor: kInputStringFieldColor,
  filled: true,
  contentPadding: EdgeInsets.only(left: 20.0),
  border: OutlineInputBorder(
    borderRadius: BorderRadius.only(
      topLeft: Radius.elliptical(8.0, 8.0),
      topRight: Radius.circular(20.0),
      bottomLeft: Radius.circular(20.0),
      bottomRight: Radius.elliptical(0.0, 0.0),
    ),
    borderSide: BorderSide.none,
  ),
);

【问题讨论】:

    标签: flutter


    【解决方案1】:

    根据您的link 提供的内容,我尝试了类似的方法,请尝试以下代码,希望对您有所帮助。

     Material(
            clipBehavior: Clip.antiAlias,
            shape: BeveledRectangleBorder(
              borderRadius: BorderRadius.only(
                topLeft: Radius.circular(20.0),
                bottomRight: Radius.circular(20.0),
              ),
            ),
            child: Container(
              decoration: BoxDecoration(
                color: Colors.grey[300],
                borderRadius: BorderRadius.circular(
                  15.0,
                ),
              ),
              child: TextFormField(
                decoration: InputDecoration(
                  prefixIcon: Icon(Icons.search),
                  hintText: 'Search The Store',
                  border: OutlineInputBorder(),
                  focusedBorder: InputBorder.none,
                ),
              ),
            ),
          ),
    

    你的结果屏幕喜欢->

    【讨论】:

    • 是的,Material 路线似乎是我能找到的唯一选择。谢谢。
    • 欢迎您,很高兴为您提供帮助。
    • i.imgur.com/F2p7orb.png 圆角周围的白色是从哪里来的?需要角落周围的背景是透明的。直边越来越clipBehavior。
    • 材质(颜色:Colors.transparent,
    • 您的问题已解决或者是什么错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-19
    • 2015-06-19
    • 2011-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-18
    相关资源
    最近更新 更多