【问题标题】:Scrollable column in flutter颤动中的可滚动列
【发布时间】:2020-02-10 11:17:25
【问题描述】:

我想让我的屏幕可滚动,但没有发生。我正在制作一个应用程序,我想在其中显示图像、标题和描述。我已成功显示数据,但现在想让屏幕可滚动。我还想添加一个应用栏,但随后两个应用栏出现在另一个下方。

这是我的代码:

import 'dart:convert';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:http/http.dart' as http;
import 'package:kmitra/app_screens/fragment_topheadlines.dart';

import 'News.dart';

class Newsdetail extends StatefulWidget {
  final String value_image, value_description, value_title;

  /*String value_image,value_description;
 int index;*/

  Newsdetail(
      {Key key,
      @required this.value_image,
      this.value_description,
      this.value_title})
      : super(key: key);

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

class _newsdetail extends State<Newsdetail> {
  _newsdetail();

  // List<News> dataList = List();
  bool _isLoading = false;
  BuildContext context1;

  Future loadyourData() async {
    setState(() {
      _isLoading = true;
    });

    @override
    void initState() {
      super.initState();

      loadyourData();
    }
  }

  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Scaffold(
      body: SingleChildScrollView(
          child: Container(
              child: Padding(
        padding: const EdgeInsets.all(8.0),
        child: Column(
          children: <Widget>[
            Expanded(
                child: Image.network(
              widget.value_image, //image
            )),
            Padding(
              padding: const EdgeInsets.fromLTRB(6.0, 8.0, 0, 8.0),
              child: Text(
                widget.value_title, //title
                style: TextStyle(fontSize: 25.0),
              ),
            ),
            Expanded(
                child: Text(
              widget.value_description, //descrpition
              style: TextStyle(fontSize: 18.0),
            )),
          ],
        ),
      ))),
    );
  }
}

【问题讨论】:

标签: flutter flutter-layout


【解决方案1】:

我通过使用列小部件中的行然后使用 SinglechildScrollView 找到了解决方案。

【讨论】:

    【解决方案2】:

    您可以在中使用 Listview 或 SingleChildScrollView 进行可滚动视图 身体

    ListView(
          shrinkWrap: true,
          padding: EdgeInsets.all(15.0),
          children: <Widget>[
            //Your Column Childrens
          ]
        )
    

    【讨论】:

      【解决方案3】:

      使用SingleChildScrollView

         @override
                Widget build(BuildContext context) {
      
                  return Scaffold(
                    body: SingleChildScrollView(
                         child: Container(
                        child: Padding(
                          padding: const EdgeInsets.all(8.0),
                          child: Column(
                      children: <Widget>[
                          Expanded(
                              child: Image.network(
                            widget.value_image,              //image
      
                          )),
                          Padding(
                            padding: const EdgeInsets.fromLTRB(6.0, 8.0, 0, 8.0),
                            child: Text(
                              widget.value_title,             //title
                              style: TextStyle(fontSize: 25.0),
                            ),
                          ),
                          Expanded(
                              child: Text(
                            widget.value_description,       //descrpition
                            style: TextStyle(fontSize: 18.0),
                          )),
                      ],
                    ),
                        ))),
                  );
                }
              }
      

      在 cmets 中使用而不是使用滚动体

      SingleChildScrollView(
                              child: Text(
                            widget.value_description,       //descrpition
                            style: TextStyle(fontSize: 18.0),
                          )),
      

      Flexible(
                              child: Text(
                            widget.value_description,       //descrpition
                            style: TextStyle(fontSize: 18.0),
                          )),
      

      【讨论】:

      • 您的视图是否太长以至于需要滚动?你能张贴一个屏幕截图,清楚地知道需要滚动什么
      • 我觉得这是一个子小部件,而不是需要滚动的父小部件。
      • 其实描述很大,需要滚动。
      • 这确实适用于单独描述..我想滚动整个页面。
      • 你想同时滚动吗?你说“实际上描述很大,需要滚动”。最好提供一个突出问题的屏幕截图
      【解决方案4】:

      像这样在Container 小部件中使用SingleChildScrollView

      Container(
        child:  SingleChildScrollView(
          child:  Column(
            children: <Widget>[
              _showChild1(),
             other child widgets
              ...
            ]
          )
        )
      );
      

      【讨论】:

        猜你喜欢
        • 2021-02-16
        • 2021-05-18
        • 1970-01-01
        • 1970-01-01
        • 2020-08-22
        • 2020-02-14
        • 1970-01-01
        • 2017-12-22
        • 2023-02-06
        相关资源
        最近更新 更多