Добавление нескольких изображений в флаттер с помощью функции? - PullRequest
1 голос
/ 02 июля 2019

У меня нет проблем, но у меня есть вопрос, так как я должен добавить несколько изображений в свое приложение.Предположим, что в будущем эти изображения могут стать большими в цифрах, поэтому я просто хотел знать, как мы можем использовать функцию во флаттере.

Вот как я добавляю изображения, как сейчас:


        Container(color: Colors.redAccent, height: 2),
        SizedBox(height: 8),
        Row(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: <Widget>[
            Expanded(
              child: Image.asset(
                'assets/cat.jpg',
                width: 110.0,
                height: 100.0,
                fit: BoxFit.fill,
              ),
            ),
            Spacer(flex:1),
            Expanded(
              child: Image.asset(
                'assets/cat.jpg',
                width: 110.0,
                height: 100.0,
                fit: BoxFit.cover,
              ),
            ),
          ],
        ),

Ожидаемый:

enter image description here

Мой вывод:

enter image description here

1 Ответ

1 голос
/ 03 июля 2019

enter image description here

Поскольку вы использовали изображения ресурсов в своем коде, поэтому я также публикую код для ресурсов, вы можете соответствующим образом изменить логику. Вот пример кода.

int _count = 0;
List<String> _listImages = [
  "assets/images/chocolate_pic.png",
  "assets/images/profile.png",
  "assets/images/loading.gif",
];

@override
Widget build(BuildContext context) {
  return Scaffold(
    floatingActionButton: FloatingActionButton(onPressed: _addImages, child: Icon(Icons.add),),
    body: Padding(
      padding: const EdgeInsets.all(8.0),
      child: GridView.builder(
        itemCount: _listImages.length,
        gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2, mainAxisSpacing: 20, crossAxisSpacing: 20),
        itemBuilder: (_, index) {
          return Image.asset(_listImages[index], fit: BoxFit.cover, width: 100, height: 100);
        },
      ),
    ),
  );
}

void _addImages() {
  setState(() {
    _listImages.add(_listImages[_count % 3]);
    ++_count;
  });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...