【问题标题】:Flutter align textfield to bottom and text from topFlutter 将文本字段与底部对齐并从顶部对齐文本
【发布时间】:2018-12-17 22:55:33
【问题描述】:

如何从顶部对齐文本和从底部对齐文本字段?这是为了创建一种类似聊天的界面。

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Retrieve Text Input'),
      ),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.center,
          mainAxisSize: MainAxisSize.max,
          mainAxisAlignment: MainAxisAlignment.end,

          children: <Widget>[
            Text(
              'Hello, How are you?\nwow',
              textAlign: TextAlign.left,
              overflow: TextOverflow.ellipsis,
              //style: new TextStyle(fontWeight: FontWeight.bold),
            ),
            TextField(
              controller: myController,
              onChanged: (text) {
                //print("First text field: $text");
              },
              onSubmitted: (text) {
                print(text);
                //myController.clear();
                myController.text = "";
              },
              decoration: new InputDecoration(
                  hintText:"Enter your response."
              ),
              focusNode: _focusNode,
              autofocus: true,
            ),
          ],
        ),
      ),
    );
  }

我尝试将文本和文本字段分隔到容器中,但无济于事。

有没有办法在类似于 iOS 布局约束的情况下做到这一点,其中文本字段被限制为键盘高度而文本被限制为文本字段?

【问题讨论】:

    标签: dart flutter flutter-layout


    【解决方案1】:

    您可以在ColumnTextTextField 之间插入Expanded。这将尽可能多地占用它们之间的空间,从而将您的Text 向上推,TextField 向下推:

    Column(
      children: [
        Text(...),
        Expanded(child: Container()),
        TextField(...),
      ],
    );
    

    【讨论】:

    • 哇,效果真的很好!嗯,如果我问是否还有一种方法可以将 textview 扩展到包括填充在内的完整尺寸的正文?现在它似乎只是中心。我已经将文本对齐设置为左对齐
    • @Wilson 您需要删除所有对齐方式,就像我回答中的代码一样。您将其与CrossAxisAlignment.center 对齐。
    • 嗯似乎我可能需要创建另一个容器来容纳它。但现在我不太确定如何将容器扩展到边缘。
    • 这就像一个冠军,但该死的看起来很笨拙。 :-(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-11
    • 2023-04-04
    • 1970-01-01
    • 2018-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多