title: How to hide widget with animation when Scroll down using Flutter
body: <p>I have a problem as with two <code>Icons Buttons</code> as the below image:</p>
  <p><a href="https://i.stack.imgur.com/ErVnK.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ErVnK.jpg" alt="Icons Buttons" /></a></p>
  <p>The problem here when I scroll down till another widget appear for example a map or a Graph the <code>Icons Buttons</code> looks like the below image:</p>
  <p><a href="https://i.stack.imgur.com/3lSUZ.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/3lSUZ.jpg" alt="result" /></a></p>
  <p>So I got an idea is to hide those button when scroll down and show them again when scroll app with an animation, but I don't know how to do this..</p>
  <p>This the below related Code:</p>
  <pre><code>return Scaffold(
          body: Stack(
            alignment: AlignmentDirectional.bottomCenter,
            children: [
              Container(
                height: double.infinity,
                child: SingleChildScrollView(
                  child: Column(
                    children: [
                      Padding(
                        padding: const EdgeInsets.only(
                          top: 85,
                          left: 10,
                        ),
                        child: Column(
                          crossAxisAlignment: CrossAxisAlignment.stretch,
                          children: &lt;Widget&gt;[
                            Text(
                              'Sim information',
                              style: TextStyle(fontWeight: FontWeight.bold),
                            ),
                            DataTable(
                              headingRowHeight: 20,
                              columnSpacing: 83,
                              dataRowHeight: double.parse('20'),
                              columns: [
                                DataColumn(
                                    label: Text(
                                  'Sim operator',
                                  style: TextStyle(color: Colors.black),
                                )),
                                DataColumn(
                                  label: Row(
                                    children: &lt;Widget&gt;[
                                      Text(
                                        simInfo.operator == null
                                            ? ' '
                                            : simInfo.operator,
                                        style: TextStyle(color: Colors.black),
                                      ),
                                    ],
                                  ),
                                ),
                              ],
                              rows: [
                                DataRow(cells: [
                                  DataCell(Row(
                                      Text('ICCID'),
                                    ],
                                  )),
                                  DataCell(
                                      Text(simInfo == null ? '' : simInfo.iccid)),
                                ]),
                              ],
                            ),
                          ],
                        ),
                      ),
                      //Network provider
                      Padding(
                        padding: const EdgeInsets.only(
                          top: 20,
                          left: 10,
                        ),
                        child: Column(
                          crossAxisAlignment: CrossAxisAlignment.stretch,
                          children: &lt;Widget&gt;[
                            Text(
                              'Network Provider',
                              style: TextStyle(fontWeight: FontWeight.bold),
                            ),
                            DataTable(
                              headingRowHeight: 20,
                              columnSpacing: 120,
                              dataRowHeight: double.parse('20'),
                              columns: [
                                DataColumn(
                                    label: Text(
                                  'Operator',
                                  style: TextStyle(color: Colors.black),
                                )),
                                DataColumn(
                                  label: Text(
                                    simInfo == null ? '' : simInfo.operator,
                                    style: TextStyle(color: Colors.black),
                                  ),
                                ),
                              ],
                              rows: [
                                DataRow(cells: [
                                  DataCell(Row(
                                    children: &lt;Widget&gt;[
                                      Text('MCC'),
                                    ],
                                  )),
                                  DataCell(
                                    Text(simInfo == null
                                        ? ''
                                        : simInfo.mcc.toString()),
                                  ),
                                ]),
                                DataRow(cells: [
                                  DataCell(Text('MNC')),
                                  DataCell(
                                    Text(simInfo == null
                                        ? ''
                                        : simInfo.mnc.toString()),
                                  ),
                                ]),
                              ],
                            ),
                          ],
                        ),
                      ),
                      //Serving Cell
                      Padding(
                        padding: const EdgeInsets.only(
                          top: 20,
                          left: 10,
                        ),
                        child: Column(
                          crossAxisAlignment: CrossAxisAlignment.stretch,
                          children: &lt;Widget&gt;[
                            Text(
                              'Serving Cell',
                              style: TextStyle(fontWeight: FontWeight.bold),
                            ),
                            DataTable(
                                columnSpacing: 120,
                                headingRowHeight: 20,
                                dataRowHeight: double.parse('20'),
                                columns: [
                                  DataColumn(
                                      label: Text(
                                    'Data type',
                                    style: TextStyle(color: Colors.black),
                                  )),
                                  DataColumn(
                                    label: Text(
                                      _baseStation == null
                                          ? ''
                                          : _baseStation.type.toString(),
                                      style: TextStyle(color: Colors.black),
                                    ),
                                  ),
                                ],
                                rows: [
                                  DataRow(cells: [
                                    DataCell(
                                      Text('TYPE'),
                                    ),
                                    DataCell(
                                      Text(_baseStation.type.toString()),
                                    ),
                                  ]),
                                  DataRow(cells: [
                                    DataCell(
                                      Text('CId'),
                                    ),
                                    DataCell(
                                      Text(_baseStation.cid.toString()),
                                    ),
                                  ]),
                                  DataRow(cells: [
                                    DataCell(
                                      Text('TAC'),
                                    ),
                                    DataCell(
                                      Text(_baseStation == null
                                          ? ''
                                          : _baseStation.tac.toString()),
                                    ),
                                  ]),
                                  DataRow(cells: [
                                    DataCell(
                                      Text('PCI'),
                                    ),
                                    DataCell(
                                      Text(_baseStation.bsicPscPci.toString()),
                                    ),
                                  ]),
                                  DataRow(cells: [
                                    DataCell(
                                      Text('LAC'),
                                    ),
                                    DataCell(
                                      Text(_baseStation.lac.toString()),
                                    ),
                                  ]),
                                  DataRow(cells: [
                                    DataCell(
                                      Text('MCC'),
                                    ),
                                    DataCell(
                                      Text(_baseStation.mcc.toString()),
                                    ),
                                  ]),
                                  DataRow(cells: [
                                    DataCell(
                                      Text('MNC'),
                                    ),
                                    DataCell(
                                      Text(_baseStation.mnc.toString()),
                                    ),
                                  ]),
                                ]),
                            if (_baseStation.type == 'GSM')
                              Padding(
                                padding: const EdgeInsets.only(
                                  left: 0,
                                ),
                                child: GSMStationFields(_baseStation),
                              ),
                            if (_baseStation.type == 'LTE')
                              Padding(
                                padding: const EdgeInsets.only(
                                  left: 0,
                                ),
                                child: LTEStationFields(_baseStation),
                              ),
                          ],
                        ),
                      ),
                      Padding(
                        padding: const EdgeInsets.only(top: 20),
                        child: SignalStrengthGraph(),
                      ),
                    ],
                  ),
                ),
              ),
              if (activeSlotsSize &gt; 1)
                Positioned(
                  bottom: 0,
                  child: SizedBox(
                    width: MediaQuery.of(context).size.width,
                    child: RadioBtnSim(changeSlot),
                  ),
                ),
            ],
          ),
        );
  </code></pre>
  <p>and this is my widget part I call which have the problem:</p>
  <pre><code>Padding(
                        padding: const EdgeInsets.only(top: 20),
                        child: SignalStrengthGraph(),
                      ),
  </code></pre>
  <p>So is there's any other solution or idea to solve this issue?</p>
  <p>I hope this would be clear enough and some one give me good reccomendation :)..</p>