ListView с контейнерами черного цвета показывает белую линию размером 1 пиксель между ними - PullRequest
1 голос
/ 13 марта 2020
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Listview Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        body: ListWidget(),
      ),
    );
  }
}

class ListWidget extends StatelessWidget {
  const ListWidget({
    Key key,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    final width = MediaQuery.of(context).size.width;
    final height = MediaQuery.of(context).size.height;
    return ListView(
      children: <Widget>[
        Container(
          width: width,
          height: height,
          color: Colors.black,
        ),
        Container(
          width: width,
          height: height,
          color: Colors.black,
        ),
        Container(
          width: width,
          height: height,
          color: Colors.black,
        ),
        Container(
          width: width,
          height: height,
          color: Colors.black,
        ),
      ],
    );
  }
}

Когда я запускаю приведенный выше код в эмуляторе, иногда между двумя контейнерами появляется тонкая белая линия, как показано ниже.

White line between two black containers

Это происходит почти всегда и намного более заметно, когда я создаю приложение для Интернета и работает на chrome. Даже производственная сборка имеет эти строки.

enter image description here

Я не могу понять, что происходит, я даже пытался заменить ListView на SingleChildScrollView с дочерним Колонна. Но все равно.

...