私ははためくのは初めてです。テキストフィールドを持つフォームを追加しました。テキストフィールドをクリックするとキーボードが表示され、テキストフィールドが上がります。
これは私のコードです:
Widget build(BuildContext context) {
MediaQueryData mediaQuery = MediaQuery.of(context);
return new Scaffold(
body: new Container(
color: Colors.purple,
constraints: new BoxConstraints.expand(),
padding: EdgeInsets.only(top: 10.0,left: 10.0,right: 10.0, bottom: mediaQuery.viewInsets.bottom, ),
child: SingleChildScrollView(
child: Container(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
SizedBox(height: 12.0),
Text(
'What is your Business Name?',
style: TextStyle(fontSize: 24.0),
),
AppForm(),
],
),
padding: EdgeInsets.only(left: 10.0,right: 10.0, bottom: mediaQuery.viewInsets.bottom),
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(30.0)),
color: Colors.white,
),
)
)
),
);
}
これは、キーボードを開かない場合の結果です: Image without keyboard
これは、キーボードを開いた後の画像です。 キーボードを開いた後の画像
これが私のフラッタードクターの出力です。
Doctor summary (to see all details, run flutter doctor -v): [√] Flutter
(Channel beta, v0.5.1, on Microsoft Windows [Version 10.0.17134.165], locale
en-US) [√] Android toolchain - develop for Android devices (Android SDK
28.0.0) [√] Android Studio (version 3.1) [!] VS Code, 64-bit edition (version
1.25.1) [!] Connected devices ! No devices available ! Doctor found issues in
2 categories.
これを修正する方法はありますか?
これは私の場合でした。あなたは間違いなく別の足場の中に足場をラップしています。フラッターアプリ内のスキャフォールドウィジェット、つまりメインレイアウトは1つだけにしてください。持っているすべての祖先の足場を単純に削除し、1つの足場のみを保持します。足場を別の足場にラップしないでください。それにもかかわらず、コンテナ内に足場をラップできます。
Main.Dartファイルでこれを行っていないことを確認してください:-
✖✖
return Scaffold(
body : YourNewFileName(),
);
上記のコードにもかかわらず、これを行います:-✔✔
return YourNewFileName();
new Scaffold(
appBar: new AppBar(
...
resizeToAvoidBottomPadding: true,
....
テキストフィールドがキーボードで隠れていた問題を修正
resizeToAvoidBottomPadding isDeprecated use代わりにresizeToAvoidBottomInset:true
この答えは、上記の質問に特定されたものではありませんが、選択したテキストフィールドをカバーするキーボードにまだ問題がある場合、彼らが何をしようとも有用です。そのような問題を解決しようとして、このページに行きました。
問題が発生する前は、アプリの起動時にスプラッシュスクリーンを改善するためにいくつかの変更を加えていました。誰かの推奨に従って、私は<resources><style>
Android/app/src/main/res/valuesフォルダー内のstyles.xmlファイルのセクション
<item name="Android:windowFullscreen">true</item>
これには、キーボードが表示されたときにメインアプリでスクロールアップするフィールドを停止するという予期しない効果がありました。これは一部の人には明らかかもしれませんが、私にはそうではありませんでした。
この情報が誰かを助けることを願っています。