キーボードがFlutterアプリでFloatingActionButtonを上向きに押している 質問する

キーボードがFlutterアプリでFloatingActionButtonを上向きに押している 質問する

私は、Flutter で、クリックするとリストにアイテムを追加するためのアラート ダイアログが表示されるフローティング アクション ボタンの下部にあるシンプルな To Do アプリを作成しようとしています。ボタンをクリックするたびに、キーボードがアクション ボタンを上に押し上げ、オーバーフロー エラーが発生します。キーボードを開いたときにアクション ボタンを上に押し上げないようにする方法はありますか? 以下は私が撮ったスナップショットです。スナップショットソースコードは以下の通りです。

import 'package:flutter/material.dart';
import '../model/todo_item.dart';

class ToDoScreen extends StatefulWidget {
  @override
  _ToDoScreenState createState() => _ToDoScreenState();
}

class _ToDoScreenState extends State<ToDoScreen> {
  TextEditingController _textEditingController = TextEditingController();
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.blueAccent,
      body: Column(
        children: <Widget>[ToDoItem("Going for a Walk", "12 January, 2019")],
      ),
      floatingActionButton: FloatingActionButton(
        tooltip: 'Add Item',
        child: Icon(Icons.add),
        backgroundColor: Colors.red,
        onPressed: _showFormDialog,
      ),
    );
  }

  void _showFormDialog() {
    var alert = AlertDialog(
      content: Row(
        children: <Widget>[
          Expanded(
            child: TextField(
              controller: _textEditingController,
              autofocus: true,
              decoration: InputDecoration(
                  labelText: "Item",
                  hintText: "eg. Buy Vegetables",
                  icon: Icon(Icons.note_add)),
            ),
          )
        ],
      ),
      actions: <Widget>[
        FlatButton(
          onPressed: () {
            // _handleSubmit(_textEditingController.text);
            _textEditingController.clear();
          },
          child: Text("Save ToDo"),
        ),
        FlatButton(
          onPressed: () {
            Navigator.pop(context);
          },
          child: Text("Cancel"),
        )
      ],
    );
    showDialog(context: context, builder: (BuildContext context) => alert);
  }
}

ベストアンサー1

私も同じ問題を抱えており、フローティング アクション ボタンが押し上げられてしまいます。

私は次のプロパティを使用してこれを解決しました:

resizeToAvoidBottomPadding: false, // fluter 1.x
resizeToAvoidBottomInset: false // fluter 2.x

親についてScaffold

あなたのコードでテストしたところ、問題も解決しました。

おすすめ記事