簡體   English   中英

如何在 flutter 上堆疊鍵盤

[英]How to stack a keyboard on flutter

目前我有一個小部件列表視圖,我在堆棧頂部堆疊了一個底部按鈕以始終顯示。 但是當我點擊文本字段時,底部按鈕被推到頂部,非常難看。 如何將鍵盤推到按鈕上?

謝謝你在此處輸入圖像描述

這是一個代碼示例:

 class MyHomePage extends StatefulWidget {

 @override
 _MyHomePageState createState() => new _MyHomePageState();
 }

class _MyHomePageState extends State<MyHomePage> {

 final TextEditingController _controller = new TextEditingController();


  @override
  Widget build(BuildContext context) {

  return new Scaffold(
   appBar: new AppBar(
  ),
  body:   new Stack(
      children: <Widget>[

        new ListView(
      children: <Widget>[

            new Column(
              children: <Widget>[
  new Padding(
  padding: const EdgeInsets.all(100.0),),
  new Card(
    child: new Padding(
      padding: const EdgeInsets.all(10.0),
      child: new Row(
        children: <Widget>[
          new Expanded(
            child: new TextField(
              controller: _controller,
              decoration: new InputDecoration(hintText: "Enter an address"),
            ),
          ),

        ],
      ),
    ),
   ),
              ],

            )
          ],
        ),
        new Align
          (
          alignment: Alignment.bottomCenter,

          child :   new RaisedButton(
              child: new  Text("Button", style: TextStyle(color: Colors.black, fontWeight: FontWeight.w700, fontSize: 18.0,)),
              onPressed: (){
              },
              highlightElevation: 4.0,
              highlightColor  : Colors.white,
              shape: new RoundedRectangleBorder(borderRadius: new BorderRadius.circular(30.0))
          ),
        ),
       ]
      )
    );
  }
}

我建議將“按鈕”放在 Stack 外面的底部,放在floatingActionButton里面。

floatingActionButton: FloatingActionButton.extended(
            elevation: 4.0,
            label: Text(Appliquer),
            onPressed: () {},
          ),
floatingActionButtonLocation:
              FloatingActionButtonLocation.centerDocked,

添加代碼后編輯:
正如我在評論中所說,我會在 AppBar 中使用 FloatingActionButton/BottomNaviagtionBar 或 Save-Icon

在這里,我將 FloatingActionButton 添加到您的代碼中:

class _MyHomePageState extends State<MyHomePage> {
  final TextEditingController _controller = new TextEditingController();

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
        appBar: new AppBar(),
        body: new Stack(children: <Widget>[
          new ListView(
            children: <Widget>[
              new Column(
                children: <Widget>[
                  new Padding(
                    padding: const EdgeInsets.all(100.0),
                  ),
                  new Card(
                    child: new Padding(
                      padding: const EdgeInsets.all(10.0),
                      child: new Row(
                        children: <Widget>[
                          new Expanded(
                            child: new TextField(
                              controller: _controller,
                              decoration: new InputDecoration(
                                  hintText: "Enter an address"),
                            ),
                          ),
                        ],
                      ),
                    ),
                  ),

                ],
              )
            ],
          ),
        ],
      ),
      floatingActionButton: FloatingActionButton.extended(
        icon: Icon(Icons.save), label: 
        new Text('Appliquer'), 
        onPressed: () { /*perform your Action here*/ },
      ),
    );
  }
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM