Прокручиваемая колонка в флаттере - PullRequest
0 голосов
/ 10 февраля 2020

enter image description here Я хочу сделать мой экран прокручиваемым, но этого не происходит. Я делаю приложение, в котором я хочу показать изображение, заголовок и описание. Я успешно показал данные, но теперь хочу сделать экран прокручиваемым. Я также хочу добавить панель приложений, но затем две панели приложений появляются одна под другой.

Вот мой код:

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),
            )),
          ],
        ),
      ))),
    );
  }
}

Ответы [ 4 ]

1 голос
/ 11 февраля 2020

Я нашел решение, используя строки внутри виджета столбцов, а затем с помощью SinglechildScrollView.

0 голосов
/ 10 февраля 2020

Вы можете использовать Listview или SingleChildScrollView для прокручиваемого представления в теле

ListView(
      shrinkWrap: true,
      padding: EdgeInsets.all(15.0),
      children: <Widget>[
        //Your Column Childrens
      ]
    )
0 голосов
/ 10 февраля 2020

Используйте SingleChildScrollView в Container виджете, подобном этому

Container(
  child:  SingleChildScrollView(
    child:  Column(
      children: <Widget>[
        _showChild1(),
       other child widgets
        ...
      ]
    )
  )
);
0 голосов
/ 10 февраля 2020

Использование 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),
                    )),
                ],
              ),
                  ))),
            );
          }
        }

Как и в комментариях вместо тела прокрутки используйте

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

ИЛИ

Flexible(
                        child: Text(
                      widget.value_description,       //descrpition
                      style: TextStyle(fontSize: 18.0),
                    )),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...