Как загрузить два списка в одном экране? - PullRequest
0 голосов
/ 12 апреля 2020

Я разработал приложение android, используя флаттер . В приложении есть экран сообщений. На этом экране пользователь может видеть сообщения. И когда пользователь касается какого-либо сообщения, он может видеть полное сообщение. Но Я хочу добавить раздел просмотра комментариев на экран просмотра сообщений . Пользователь должен иметь возможность добавлять комментарии и видеть комментарии других на соответствующую запись. сообщения извлекаются по node.js API.

код полного экрана моего текущего сообщения:

   class FullPostView extends StatefulWidget {
  List list;
  int index;
  FullPostView({this.index, this.list});

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

class _FullPostViewState extends State<FullPostView> {
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      resizeToAvoidBottomPadding: false,
      appBar: new AppBar(
         iconTheme: IconThemeData(
            color: Colors.black, // back button color
          ),
         elevation: 0,
        backgroundColor: Colors.white,
        title: new Center(child:  new Text("${widget.list[widget.index]['title']}", style: TextStyle(color: Colors.black,fontFamily: 'Montserrat', fontWeight: FontWeight.bold ),)),
      ),
      body: new Container(
         height: MediaQuery.of(context).size.height * 0.8, 
        child: new SingleChildScrollView(

        padding: const EdgeInsets.all(20.0),
        child: new Card(
          child: new Center(
            child: new Column(
              children: <Widget>[
                new Padding(padding: const EdgeInsets.only(top: 30.0, left: 2),),
               new Image.asset('assets/images/ex.jpg',height: 210,),
               Container(
                  margin: new EdgeInsetsDirectional.only(start: 1.0, end: 210.0, top: 10),
                  child: new Text(" Post By: ${widget.list[widget.index]['authortype']}", style: new TextStyle(fontFamily: 'Montserrat',fontSize: 11.0, color: Colors.redAccent[200]),),
                ),
                new Text(" \n\n ${widget.list[widget.index]['subject']}", style: new TextStyle(fontFamily: 'Montserrat',fontWeight: FontWeight.bold, fontSize: 18.0),),
                new Padding(padding: const EdgeInsets.only(top: 13.0),),
                Container(
                  margin: new EdgeInsetsDirectional.only(start: 1.0, end: 1.0, top: 10),
                  child: new Text(" ${widget.list[widget.index]['discription']}", style: new TextStyle(fontFamily: 'Montserrat',fontSize: 13.0, color: Colors.brown),),
                ),
                SizedBox(
                  height:10,
                )
              ],
            ),
          ),
        ),
      ),
      ),
    );
  }
}

Как я могу это сделать?

1 Ответ

0 голосов
/ 12 апреля 2020

Я даю вам общее представление, вы можете использовать Expanded внутри Column и поместить свой список в него. Для фиксированного размера вы можете использовать SizedBox вместо Expanded.

return Column(
  children: [
    Expanded(
      flex: 2,
      child: FirstList(),
    ),
    Expanded(
      flex: 3,
      child: SecondList(),
    )
  ],
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...