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

egeven

Пользователи
  • Постов

    4
  • Зарегистрирован

  • Посещение

Активность репутации

  1. Like
    egeven отреагировална Brovin Yaroslav в [TMultiView] Как избежать задержки при первом появлении TMultiView?   
    Так, я посмотрел. Сохраняем себе такую процедуру:
    procedure PreloadContent(const Control: TControl); var I: Integer; begin if Control is TStyledControl then TStyledControl(Control).ApplyStyleLookup; for I := 0 to Control.ControlsCount - 1 do PreloadContent(Control.Controls[I]); end; Она форсирует загрузку стилей. Задержка при появлении TMutliView заключается в том, что стиль загружается не сразу у любого контрола, а только по мере появления контрола. Обычно это происходит при первой отрисовки. Это правило касается всех контролов.
     
    Поэтому, в этом случае, вам нужно форсировать загрузку стилей. Это можно сделать при помощи моей процедуру PreloadContent.
    Добавьте в TForm.OnCreate и это решит задержку при первом появлении:
    PreloadContent(MultiView1);
  2. Like
    egeven отреагировална Brovin Yaroslav в Описание TfgActivityDialog   
    Описание
    Назначение: Компонент предназначен для визуального отображения хода выполнения длительной операции. При этом пользовательский интерфейс блокируется диалоговым окном до окончания выполнения задачи. Используется, когда время выполнения задачи нельзя оценить никаким адекватным способом (Ожидание ответа от сервера при авторизации и тд.) Если время выполнения известно, то рекомендуется использовать TfgProgressDialog Поддерживаемые платформы: iOS, Android Демо проект: Samples\ProgressDialogDemo\ProgressDialogDemo.dproj Скриншоты
    Работа под iOS:
    Работа под Андроид (Выше, чем GingerBread 2.3): Работа под Андроид (GingerBread 2.3):
  3. Like
    egeven отреагировална Brovin Yaroslav в Описание TfgApplicationEvents - мониторинг основных событий приложения   
    Описание:
    Назначение: Получение основных событий приложения, путем подвешивания обработчиков на события компонента в дизайнере Поддерживаемые платформы: Windows, OSX, iOS, Android Демо проект: Samples\ApplicationEventsDemo\ApplicationEventsDemo.dproj Доступен с версии: XE7 Возможности:
    Все события перехватываю события во всем приложении.
    Получение результатов (интентов) из других приложений (OnActivityResult) Нотификация о выполнения Action в TAсtionList (OnActionExecute) Нотификация о обновлении Action в TAсtionList (OnActionUpdate) Перехват любого исключения в приложении (OnException) Простой приложения (OnIdle) Оповещение об изменении размера формы (OnFormSizeChanged) Оповещение о необходимости сохранить данные UI формы при изменении состояния приложения. Особенно актуально для мобильных платформ (OnSaveState) Изменение состояния приложения (OnStateChanged) Факт изменения стиля формы (OnStyleChanged) Изменение ориентации устройства (OnOrientationChanged) Все формы приложения на старте созданы (OnFormsCreated) Форма приложения разрушается (OnFormReleased) Изменение главной формы (OnMainFormChanged) Изменение заголовка главной формы (OnMainFormCaptionChanged) Уведомление об отображении формы (OnFormBeforeShown) Уведомления об активации и деактивации формы (OnFormActive,  OnFormDeactivate) Уведомления о создании и разрушении формы (OnFormCreate, OnFormDestroy) Изменение скейла экрана (OnScaleChanged)

     
  4. Like
    egeven отреагировална Brovin Yaroslav в Описание TfgFlipView - слайдер изображений   
    Описание:
    Назначение: Компонент - слайдер, предназначенный для отображения по очереди картинок из набора Поддерживаемые платформы: Windows, OSX, iOS, Android Демо проект: Samples\FlipViewDemo\FlipViewDemo.dproj Доступен с версии: XE8 Возможности:
    Два принципиально отличающихся способа смены изображения: Эффекты (21 эффект) и сдвиги (горизонтальный и вертикальный)- Mode. Доступно редактирование скорости смены изображений (SlideOptions.Duration) и направления (SlideOptions.Direction) для режима смены изображения путем сдвига. Доступно редактирование скорости смены изображений (EffectOptions.Duration) и эффекта (EffectOptions.Kind) для режима смены изображения при помощи эффектов. Контролирование начала и окончания процесса смены изображений: OnStartChanging, OnFinishChanging Доступен режим Слайдшоу, когда изображения меняются с интервалом (SlideShowOptions.Duration) Для эффектов возможно выбора случайного эффекта на каждый слайд  Пролистывание изображений жестом - pan (swype) Отлавливание момент нажатия на слайд OnImageClick Управление видимостью кнопок смены слайдов ShowNavigationButtons


  5. Like
    egeven отреагировална Martifan в Как поменять надписи для кнопок в MessageDlg?   
    Извините я сам нашел решение если кому пригодится:
     
    1. находим файл FMX.Consts.pas
    2. Положи его в папку с проектом.
    3. Menu Project->Add to Project - добавь этот файл.
    4. Сохрани проект. Закрой проект. Открой проект заново.
    5. Menu -> Project -> Build All Project
    6. Запускаем.
  6. Like
    egeven отреагировална Brovin Yaroslav в Как очистить ScrollBox от содержимого   
    Все контролы, которые вы кидаете в TScrollBox находятся в дополнительном промежуточном контроле TScrollContent. Когда вы удаляете все дочерние узлы TScrollBox, то вы удаляете все сами, стиль и контент, что делать нельзя.
    Похожее поведение есть и в TTreeView: При попытке создать дочерние итемы при разворачивании узла дерева, у меня возникает ошибка. В чем может быть проблема?
    Поэтому, удалять объекты нужно непосредственно у контента. Это можно сделать так:
    type TOpenScrollBox = class(TScrollBox); procedure ClearChildren(AScrollBox: TScrollBox); begin Assert(AScrollBox <> nil); TOpenScrollBox(AScrollBox).Content.DeleteChildren; AScrollBox.Repaint; end;
  7. Like
    egeven отреагировална Brovin Yaroslav в [XE7] [FGX] Описание версии 0.5.0.41   
    Ссылка на скачивание (Только для RAD Studio XE7): fgx_0.5.0.41.zip
    Инструкция по установке: "Инструкция по установке набора компонентов FGX"
    Описание
    Эта версия включает в себя следующий набор компонентов:
    TfgProgressDialog - Компонент для отображения диалогового окна в момент выполнения длительной фоновой операции, когда время выполнения фоновой операции можно оценить. TfgActivityDialog - компонент для отображения диалогового окна в момент выполнения длительной фоновой операции, когда время выполнения операции не возможно адекватно оценить. TfgActionSheet - Аналог контекстного меню для мобильных платформ. TfgColorsPanel - Палитра цветов с возможностью выбора цвета. TfgGradientEdit - Компонент выбора градиента. TfgLinkedLabel - Метка поддерживающая открытие Web ссылки в браузере по умолчанию. TfgApplicationEvents (NEW)- компонент с возможностью легко задать обработчики на основные события приложения: Отслеживание смены состояния приложения, простой, обновление и выполнение действий Actions, Изменение ориентации устройства и тд. TfgVirtualKeyboard - компонент облегчающий работу с виртуальной клавиатурой. Позволяет задать пользовательские кнопки над виртуальной клавиатурой под iOS, а так же отлавливать события по отображению и скрытию клавиатуры. Зарегистрированы все стилевые объекты на вкладке "FGX: Style objects" Улучшения
    TfgApplicationEvents: Добавлен новый компонент для отслеживания об основных событиях приложения Добавлен пример использования этого компонента TfgActivityDialog, TfgProgressDialog: ​Добавлены события открытия и закрытия диалогов OnShow, OnHide Исправлены утечки памяти на iOS и Android Исправлена ошибка с некорректным отображением на iOS при повороте устройства Общие улучшения на уровне кода Исправлена ошибка с возможностью закрыть диалог кнопкой Back на Андроиде. TfgActionSheet Исправлено не возможность выполнения стандартных действий в TAсtionList TfgLinkedLabel Исправлена ошибка регистрации сервиса, приводящая к фатальным ошибкам в IDE Добавлен пример LinkedLabelDemo TfgColorsPanel Добавлена возможность выбора цвета пользователем. Событие OnColorSelected Общие улучшения Добавлены дополнительные хелперы для iOS и Android Добавлен модуль ассертов для проверки корректности работы компонентов Для Screen добавлен хелпер получения ориентации экрана Значительное улучшение читабельности кода и удобства в использовании.
  8. Like
    egeven отреагировална Brovin Yaroslav в [Android] Не получается увеличить высоту TProgressBar   
    По умолчанию, каждая платформа определяет свои правила оформления пользовательского интерфейса, согласно Руководству пользовательского интерфейса Андроида TProgressBar не может быть по высоте другого размера. Поэтому стиль андроид платформы в Firemonkey запрещает изменять высоту некоторых контролов, в том числе TProgressBar. Аналогичная ситуация в Eclipse для андроида. Там также нельзя менять для этого компонента его высоту.
     
    Фиксация размера происходит путем сохранения в стиле свойств FixedHeight  и FixedWidth (не доступного в дизайнере). Если эти свойства больше 0, значит контрол будет иметь фиксированный размер.
     
    Решение
    Если вы вдруг захотели нарушить стандарты, рекомендованные Google по оформлению UI, вы можете сделать следующее:
    1. Открыть BitmapStyleDesigner (находится в папке bin студии bin\BitmapStyleDesigner.exe)
     
    2. В выпадающем списке первой кнопки на панели инструментов Создать новый стиль (светлый или темный) для платформы андроид. Редактор автоматически создаст вам стандартный стиль для андроида.

     
    3. Сохранить стиль для Firemonkey. В диалоге сохранения выбрать тип файла "FireMonkey Style (*.style)"

     
    4. Открыть сохраненный файл стиля в текстовом редакторе и найти в нем стиль TProgressBar - "progressbarstyle".

     
    5. Удалить из стиля строчку:
    FixedHeight = 10 6. Сохранить стиль и загрузить файл стиля в TStyleBook.

     
    Теперь для TProgressBar можно менять высоту. Однако, учтите, что стили для Андроид и iOS растровые. Это значит, что при растровое исходное изображение прогресс бара рассчитано на высоту в 10 пикселей и при увеличении высоты, вы потеряете качество отрисовки прогресс бара (смотрите рисунок выше).
  9. Like
    egeven отреагировална Brovin Yaroslav в Можно ли прокрутить TScrollBox программно?   
    Без анимации можно любым из этих способов:
    // Установка координат окна просмотра (Левый верхний угол) ScrollBox.ViewportPosition := TPointF.Create(0,0); ScrollBox1.ScrollTo(0, 0); // Аналог ViewportPosition // Сдвиг на вектор ScrollBox.ScrollBy(-10, -10); С анимацией так:
    procedure TForm3.FormCreate(Sender: TObject); begin ScrollBox1.AniCalculations.Animation := True; ScrollBox1.AniCalculations.BoundsAnimation := True; ScrollBox1.AniCalculations.TouchTracking := [ttVertical, ttHorizontal]; end; // Сам сдвиг ScrollBox1.AniCalculations.MouseWheel(5, 10);
  10. Like
    egeven отреагировална Nix0N в Как узнать текущие положения вертикального и горизонтального скролов в TScrollBox?   
    ScrollBox.ViewportPosition.Y - вертикаль
    ScrollBox.ViewportPosition.X - горизонталь
×
×
  • Создать...