Как сделать так, чтобы панель аккордеона отображалась в трепетании? - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь получить работающую панель аккордеона и, исследуя, как ее сделать, обнаружил версию Get Widget. Однако, когда я добавил код, все остальное в теле стало невидимым, и все, что показывает, - это панели приложений. Я точно знаю, что это именно эта часть моего кода, потому что, если я вытащу ее, все остальное появится снова. Если есть другой способ сделать это, простой и легкий для понимания, я хотел бы знать. Как только GF Accordion отключен, все остальное отображается как должно. И да, я убедился, что пакет, поддерживающий GF Accordion, был импортирован и добавлен в файл pubspe c .yaml, как и должно быть.

Row(
          children: <Widget>[
            Container(
              decoration: new BoxDecoration(
                border: new BorderDirectional(
                  bottom: new BorderSide(
                      color: Color.fromRGBO(112, 112, 112, 0.25),
                      style: BorderStyle.solid
                  ),
                ),
              ),
              child: Column(
                children: <Widget>[
                  new GFAccordion(
                      title: 'Requirements',
                      contentChild: Text('No requirements. Just bring yourself! Paint and brushes will be provided.'),
                      collapsedIcon: Icon(Icons.add),
                      expandedIcon: Icon(Icons.minimize),
                  ),
                ],
              ),
            ),
          ],
        ),

1 Ответ

0 голосов
/ 08 мая 2020

Вы можете скопировать и вставить полный код ниже
Вы можете установить Container width для управления width из GFAccordion
фрагмента кода

 Container(
        width: 400,

рабочая демонстрация

enter image description here

полный код

import 'package:flutter/material.dart';
import 'package:getflutter/getflutter.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

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

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Row(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          Container(
            width: 400,
            decoration: BoxDecoration(
              border: BorderDirectional(
                bottom: BorderSide(
                    color: Color.fromRGBO(112, 112, 112, 0.25),
                    style: BorderStyle.solid),
              ),
            ),
            child: Column(
              children: <Widget>[
                GFAccordion(
                  title: 'Requirements',
                  contentChild: Text(
                      'No requirements. Just bring yourself! Paint and brushes will be provided.'),
                  collapsedIcon: Icon(Icons.add),
                  expandedIcon: Icon(Icons.minimize),
                ),
              ],
            ),
          ),
        ],
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: Icon(Icons.add),
      ),
    );
  }
}
...