(одно потенциальное решение ниже, а не просто «я тоже». Продолжайте читать)
Подобная проблема здесь.
Холст во вкладке на панели TabLayout.
Некоторые элементы управления на второй вкладке для управления холстом.
Рисование не удается, поскольку холст сообщает ширину 0.
Либо надежный способ получить ширину холста (или его элемента контейнера), либо VisibleEvent будет идеальным.
Моим решением было добавить selectionHandler на панель вкладок.
Когда панель моего холста становится видимой, я использую scheduleDeferred для вызова метода, который позволяет рисовать на холсте и вызывает перерисовку. Когда выбрана вкладка, отличная от моего холста, я отключаю рисование на своем холсте.
Не будет работать для всех, но может дать вам представление!