Как отобразить активные текстовые поля, скрытые лицевой панелью? - PullRequest
0 голосов
/ 06 мая 2020

Я пытался отобразить фон с поиском. но когда я нажимаю, текстовое поле скрывается передней панелью. как на лицевой панели не скрывается текстовое поле поиска?

    import 'package:flutter/material.dart';

import 'content_isi.dart';

class Panel extends StatefulWidget {
  final AnimationController controller;

  Panel({this.controller});

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

class _PanelState extends State<Panel> {
  static const header_height = 200.0;

  Animation<RelativeRect> getPanelAnimation(BoxConstraints constraints) {
    final height = constraints.biggest.height;
    final backPanelHeight = height - header_height;
    final frontPanelHeight = -header_height;

    return new RelativeRectTween(
            begin: new RelativeRect.fromLTRB(
                0.0, backPanelHeight, 0.0, frontPanelHeight),
            end: new RelativeRect.fromLTRB(0.0, 0.0, 0.0, 0.0))
        .animate(new CurvedAnimation(
            parent: widget.controller, curve: Curves.linear));
  }

  Widget bothPanels(BuildContext context, BoxConstraints constraints) {
    final ThemeData theme = Theme.of(context);

    return new Container(
      child: new Stack(
        children: <Widget>[
          new Container(
            color: Colors.white,
            child: Column(
              children: <Widget>[
                TextField(
                  decoration:
                      _buildInputDecoration(Icons.tune, 'Jenis Peraturan'),
                ),
                Divider(
                  height: 0.0,
                  color: Colors.grey,
                ),
                TextField(
                  decoration: _buildInputDecoration(Icons.pages, 'Nomor'),
                ),
                Divider(
                  height: 0.0,
                  color: Colors.grey,
                ),
                TextField(
                  decoration: _buildInputDecoration(Icons.pages, 'Tahun'),
                ),
                Divider(
                  height: 0.0,
                  color: Colors.grey,
                ),
                TextField(
                  decoration:
                      _buildInputDecoration(Icons.help_outline, 'Tentang'),
                ),
                Container(
                  padding: EdgeInsets.only(left: 5.0, right: 5.0),
                  width: double.infinity,
                  child: FlatButton(
                    onPressed: () {},
                    child: Text(
                      'Cari',
                      style: TextStyle(
                          color: Colors.white,
                          fontWeight: FontWeight.bold,
                          fontSize: 16),
                    ),
                    color: Colors.blue,
                  ),
                ),
              ],
            ),
          ),
          new PositionedTransition(
            rect: getPanelAnimation(constraints),
            child: new Material(
              elevation: 12.0,
              child: ListView(
                children: <Widget>[
                  ContentIsi(
                    no: '11',
                    th: '2020',
                    jnsperaturan: 'Peraturan BBB',
                    judul:
                        'Perubahan Keempat Atas Peraturan Nomor 1 Tahun 2017 tentang Pelimpahan Kewenangan Penandatanganan Perizinan dan Non Perizinan Kepada Kepala Dinas Penanaman Modal dan Pelayanan Terpadu Satu Pintu',
                    onPressed: null,
                  )
                ],
              ),
            ),
          )
        ],
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return new LayoutBuilder(
      builder: bothPanels,
    );
  }

  InputDecoration _buildInputDecoration(IconData icon, String hintText) {
    return InputDecoration(
      prefixIcon: Padding(
        padding: const EdgeInsets.only(right: 32.0, left: 16.0),
        child: Icon(icon),
      ),
      hintText: hintText,
      contentPadding: const EdgeInsets.symmetric(vertical: 16.0),
      border: InputBorder.none,
    );
  }
}

Я новичок во флаттере. так что я надеюсь, что вы можете мне помочь. изображение в формате gif на рисунке ниже:

enter image description here

в изображении gif текстовое поле, скрытое передней панелью (просмотр списка), когда я нажимаю на текстовое поле. как исправить ????

...