Перейти к содержанию
Fire Monkey от А до Я
  • 0

Два вопроса касательно работы MultiView


Oleksi

Вопрос

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

Подскажите, пожалуйста, касательно работы MultiView в режиме Drawer (выдвигающаяся панель). Так вот, есть два вопроса:

1. При первом появлении панели после запуска приложения на смартфоне (на разных смартфонах) панелька выдвигается с заметными лагами. Не важно, тянешь пальцем, или нажимаешь связанную с панелью кнопку. Затем уже каждый раз панель выезжает плавно. Вопрос в том, можно ли что-то сделать, чтобы панель предварительно прорисовалась (или чего она глючит) и при первом появлении также не тормозила?

2. Когда эта панель достается в тех разделах, где она перекрывает простые окошки, или ListView - все хорошо. Но, когда активна вкладка (TabControl), на которой размещен простенькая диаграмма TChart, тогда каждый раз панель достается и убирается с лагами. Из-за этого создается впечатление, будто все приложение лагающее. Можно ли как-то сделать так, чтобы панель доставалась плавно и на фоне диаграммы?

Ссылка на комментарий

Рекомендуемые сообщения

  • 0
  • Модераторы
13 минуты назад, Oleksi сказал:

1. При первом появлении панели после запуска приложения на смартфоне (на разных смартфонах) панелька выдвигается с заметными лагами. Не важно, тянешь пальцем, или нажимаешь связанную с панелью кнопку. Затем уже каждый раз панель выезжает плавно. Вопрос в том, можно ли что-то сделать, чтобы панель предварительно прорисовалась (или чего она глючит) и при первом появлении также не тормозила?

Пользуемся сначала поиском (или заходим в нужный раздел и просматриваем темы)...

[TMultiView] Как избежать задержки при первом появлении TMultiView?

Ссылка на комментарий
  • 0

Кстати вопрос в тему: а как закэшировать всё это при старте приложения (ВСЕ компоненты во всех формах создаются динамически). У меня тоже при первом открытии дочерних форм ощущаются подлагивания.

Ссылка на комментарий
  • 0
15 часов назад, Andrey Efimov сказал:

Пользуемся сначала поиском (или заходим в нужный раздел и просматриваем темы)...

[TMultiView] Как избежать задержки при первом появлении TMultiView?

Спасибо! С первым вопросом стало немного лучше (но, все же, нет той плавности затенения остальной формы, когда появляется панель первый раз, как в последующие).

А со вторым вопросом ничего нельзя придумать? На сколько я понял, чем больше элементов на форме, которую должна перекрыть панель, тем большие тормоза и лаги появляются у этой панели (и, в частности, затеняется панель с тормозами).

Ссылка на комментарий
  • 0

на мобильной форме ну просто не должно быть много компонентов

чаще всего приложение строится на переходе по формам или по табам в табконтроле, тогда тем более вспоминаем про фреймы и создаем их на нужных вкладках динамически

Ссылка на комментарий
  • 0
1 час назад, krapotkin сказал:

на мобильной форме ну просто не должно быть много компонентов

Просто берем 1 компонент - TChart. Рисуем небольшой график. Все. Теперь панель слева будет постоянно тормозить при отображении, или скрытии. Движение будет не плавным. 

1 час назад, krapotkin сказал:

чаще всего приложение строится на переходе по формам или по табам в табконтроле, тогда тем более вспоминаем про фреймы и создаем их на нужных вкладках динамически

Это уже не по теме, но, все же. То есть, лучше просто сделать табы и при нажатии на таб в этом табе отображать фрейм? Это лучше, чем просто создать табконтрол с 8 табами, на которых спроектировать нужные разделы? И чем лучше? Только лишь временем первоначальной загрузки? Кстати, когда с таба уходишь, тогда и фреймы уничтожать с предыдущих табов?

Ссылка на комментарий
  • 0

про чарт ничего не знаю, не юзал

а вот про табы истину говорю, пустые все кроме первого нужны))

удалять обычно уже нет смысла, они памяти не много жрут. дело во времени создания и самое главное - применения стиля.

кроме того фреймы это единственный способ разнести логику этой огромной формы на 8 страниц 

ну и неплохо бы еще чтобы модель данных жила отдельно от форм и фреймов ...

Ссылка на комментарий
  • 0

ну, к вопросу это непосредственно не относится, скорее к методологии, когда на frame2 мы обращаемся к frame1.comboBox1.Itemindex или еще хуже к frame3.edit1.text.

и тут выясняется что frame1/3 не создан/находится не в том состоянии, и т.д. и т.п.

Или классика "Почему в FMX нет button1.Click() ?" )))

Если данные как положено - в переменных, то они доступны вне зависимости от наличия и видимости на экране разных UI

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...