基于用户输入的动态TextField宽度

时间:2020-02-26 03:01:02

标签: flutter dart flutter-layout

默认情况下,TextField在其下方具有底部边框。控制其宽度的唯一方法是设置TextField本身的宽度(或包装在Container中)。但是,这两个都涉及对宽度进行硬编码。如何动态更改TextField的宽度,以使下划线的底边框仅是输入文本(或提示文本)的宽度?

这里有一些例子。

第一个图像是带有提示文本的TextField。它的宽度等于屏幕的宽度。

  @override
  Widget build(BuildContext context) {
    return Material(
      child: Center(
        child: TextField(
          decoration: InputDecoration(hintText: "Enter title"),
        ),
      ),
    );
  }

产生以下结果: enter image description here

现在,我用容器限制宽度:

  @override
  Widget build(BuildContext context) {
    return Material(
      child: Center(
        child: Container(
          width: 70,
          child: TextField(
            decoration: InputDecoration(hintText: "Enter title"),
          ),
        ),
      ),
    );
  }

会产生以下内容:

enter image description here

当我使用容器并设置其宽度时,此后它将永远不会改变。如何使宽度根据文本输入的长度动态变化?

0 个答案:

没有答案