Unact / yandex_mapkit

Flutter implementation of YandexMapkit
MIT License
134 stars 149 forks source link

Мерцает карта при использовании Bottom Navigation #182

Closed kirya355 closed 2 years ago

kirya355 commented 2 years ago

Привет, большое спасибо за библиотеку

Есть небольшой баг, видел несколько похожих 1 2 3, так понял что это именно с движком связана Проблема в том, что при переключении между экранами (с помощью bottom bar) карта появляется на доли секунды на весь экран и потом исчезает. Подскажите как исправить (либо просто ждать когда в движке пофиксят) Буду рад любой помощи

Вот пример кода, который воспроизводит ошибку

import 'package:flutter/material.dart';
import 'package:yandex_mapkit/yandex_mapkit.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: MainPage(),
    );
  }
}

class MainPage extends StatefulWidget {
  const MainPage({Key? key}) : super(key: key);

  @override
  State<MainPage> createState() => _MainPageState();
}

class _MainPageState extends State<MainPage> {
  int _index = 0;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Colors.black,
      ),
      body: IndexedStack(
        index: _index,
        children: [
          const YandexMap(),
          Container(
            color: Colors.grey,
            child: const Center(
              child: Text(
                'Settings',
                style: TextStyle(
                  color: Colors.white,
                ),
              ),
            ),
          ),
        ],
      ),
      bottomNavigationBar: BottomNavigationBar(
        currentIndex: _index,
        onTap: (v) => setState(() => _index = v),
        items: const [
          BottomNavigationBarItem(
            icon: Icon(Icons.home),
            label: 'home',
          ),
          BottomNavigationBarItem(
            icon: Icon(Icons.settings),
            label: 'settings',
          ),
        ],
      ),
    );
  }
}
DCrow commented 2 years ago

Здравствуйте!

Изначальная проблема https://github.com/flutter/flutter/issues/95343 Эту багу поправили в https://github.com/flutter/engine/pull/30724 Остается только ждать когда в stable попадет коммит.

kozhuhar commented 2 years ago

У нас в проекте с самым последним мастером - воспроизводится.