Jump to content

[TfgPageControl] Поведение Alignment


Recommended Posts

Всем привет. Не понял в какой ветке создать тему. Но ближе показалось в этой.

в рантайме создаю Page и в него пытаюсь затолкать и растянуть по размерам страницы TfgForm. На андроид работает верно. На iOS странное поведение.

Подскажите что не так?

 

testApp.7z

Link to post
Share on other sites
  • 3 weeks later...
  • Administrators

Добрый вечер, 

Я не понял, в чем проблема. Возможно, она уже поправлена в 1.9.0.0. Но вот ваш код по созданию форм:

procedure TFormMain.fgButton1Tap(Sender: TObject);
begin
  // Ярослав. Тут создали новую форм 
  var checklistReelFrame: TchecklistReelFrame;
  checklistReelFrame := TchecklistReelFrame(self.FindComponent('ChecklistReel_' + Self.ComponentCount.ToString));
  if checklistReelFrame = nil then
    begin
      checklistReelFrame := tchecklistReelFrame.Create(self);
      checklistReelFrame.name := 'ChecklistReel_' + 'ChecklistReel_' + Self.ComponentCount.ToString;
      checklistReelFrame.categoryContinousCard.Visible := false;
    end;
  // Ярослав: Тут ее показали на весь экран, главная форма позади.
  TfgAnimationHelper.ShowForm(checklistReelFrame);
  // Ярослав: А тут сделали новую вкладку с формой и добавили ее в главную форму.  
  var page := PageControl.AddPage;
  var checklistContaner := TChecklistContainer.Create(page);
  checklistContaner.ChecklistReel := self;
  checklistContaner.PositionMode := TfgPositionMode.Relative;
  checklistContaner.Alignment.FlexGrow := 1;
  checklistContaner.FullScreen := false;
  checklistContaner.Parent := page;
  checklistContaner.Show;
end;

Если есть скрины с андроида и йос, буду рад. 

Link to post
Share on other sites
  • Similar Content

    • By Yaroslav Brovin
      На этой неделе всех нас ждет большой релиз библиотеки FGX Native 1.6.0.0, в который войдет много новых вещей и самое главное - Альфа версия iOS! 
      Вкратце обо всех нововведениях по порядку:
      FGX Native for iOS (Alpha)
      Это свершилось! Релиз 1.6.0.0 будет содержать Альфа версию FGX Native for iOS.
      Важно. Поскольку это альфа версия, то не стоит ожидать от нее полноценной работоспособности. Данный релиз содержит частично реализованный функционал: часть компонентов пока не реализованы, часть функционала компонентов может не работать. Однако, при этом, часть компонентов уже полностью готова.
      Теперь все проекты автоматически получают новый таргет iOS Device 64-bit. При открытии старого проекта, происходит автоматическая миграция проекта, в ходе которой:
      Добавляется платформа iOS Device 64-bit для сборки Добавляется конфигурация для деплоя iOS приложения. Добавляются настройки проекта, связанные с iOS (иконки, название пакетов и тд) Добавляются ассеты для iOS.  
      В дизайнере пока нет возможности переключиться на стиль iOS. Это будет добавлено уже ближе к полноценному релизу iOS части. 
      На текущий момент:
      Минимальная поддерживая версия iOS 11.  Не реализованы следующие компоненты : TfgCalendar, TfgAutoCompleteEdit, TfgSearchBox, TfgWebBrowser, TfgVideoControl, TfgCamera, TfgCameraPreview, TfgBarcodeScanner. Не реализована анимация. Не реализованы жесты. и тд Важно. Для сборки проекта необходимо использовать SDK не выше 13.5. С более старшими версиями SDK вы получите ошибку при линковке приложения. Мы уже занимаемся этим вопросом.
      За время разработки iOS версии у нас накопилось большое количество изменений, которые затрагивают не только iOS реализацию, но и некоторые аспекты работы библиотеки в целом.

      В процессе приходят новые идеи по улучшению уже существующего API компонентов.  Чтобы не копить все изменения отдельно от текущей версии библиотеки, мы решили соединить все изменения по iOS с текущим релизом. Так что теперь вы всегда будете в курсе текущего состояния iOS части.
      Мы ценим терпение и поддержку наших клиентов. Поэтому, поскольку релиз FGX Native for iOS немного задерживается, мы приняли решения, что не будем увеличивать цену за продление подписки в момент релиза полноценной iOS для клиентов, которые на момент релиза будут иметь активную подписку.  
      Т.е. если на момент полноценного релиза iOS у вас есть активная подписка, то стоимость продления для вас останется прежней. Для всех остальных стоимость первоначальной подписки и продления будет увеличена.
      Начиная с 1.6.0.0 мы будем включать в каждый релиз список доработок по iOS, чтобы вы всегда были в курсе.
      Обо всех найденных ошибках вы сможете сообщить нам в новой ветке форума https://forum.fgx-native.com/forum/102-ios-alpha-тестирование/. Так же в ней вы можете высказать свои пожелания по приоритету разработки того или иного функционала. Это поможет нам составить список первоочередных задач и сфокусироваться на действительно важных для вас задачах.
      Полностью переработанная кнопка TfgButton
      В дополнение к статье необходимо упомянуть, что у кнопки есть еще один важный стиль, о котором не говорилось ранее - Default. В этом стиле кнопка выглядит так, как это принято на целевой платформе. На Android - это закрашенная кнопка, в iOS - это текст без фона. Используйте этот стиль, если хотите придерживаться системного стиля отображения кнопки.  
        
      Ранее у кнопки вы могли наблюдать внутренние отступы между ее границей и фоном. Это в свою очередь немного усложняло позиционирование кнопки по отношению к другим компонентам. Поэтому в этом релизе мы убрали у Android кнопки все отступы между границей компонента и фоном. Если вы использовали эти отступы при выравнивании компонентов вашей формы, вам следует задать эти отступы напрямую через TfgButton.Margins.
      Небольшие улучшения в дизайнере
      В дизайнер добавлен ряд косметических улучшений, чтобы нашим пользователям было приятнее работать и ничто не отвлекало их от решения задач. Среди улучшений темная тема для дизайнера форм.

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

      Правила обрезки текста (TfgTextTrimming)
      В первоначальной версии библиотеки мы закладывали несколько способов обрезки текста: по символам, по словам и без обрезания. Однако, в результате реализации iOS и Android оказалось, что обрезка текста по словам не используется и не поддерживается ни на одной из платформ. Поэтому в данном релизе мы решили убрать значение TfgTextTrimming.Word, так как оно не работало и не имеет смысла. Если вы использовали в своих проектах TfgTextTrimming.Word, то вам необходимо переоткрыть формы, проигнорировав ошибку, и сохранить формы заново. 
      Канва TfgCanvas
      Мы добавили два важных метода, которые теперь НЕОБХОДИМО использовать при выполнении любой отрисовки на TfgBitmap - это TfgCanvas.BeginPaint и TfgCanvas.EndPaint. При вызове этих методов происходят определенные действия по переносу данных битмапа между буферами для ускорения работы с изображениями в целом. Если в уже существующем коде вы не расставите эти методы, то на iOS платформе вы не увидите результат отрисовки.
      Небольшой пример по использованию новых методов BeginPaint/EndPaint для отрисовки иконки: 
      Scale := TfgScreenManager.Main.Scale; IconSize := Ceil(DefaultIconSize * Scale); FMoreIcon := TfgBitmap.Create(IconSize, IconSize); FMoreIcon.Scale := Scale; with FMoreIcon.Canvas do begin BeginPaint; try Fill.Kind := TfgBrushKind.Solid; Fill.Color := TAlphaColorRec.Black; FillCircle(TPointF.Create(6, 12), 2); FillCircle(TPointF.Create(12, 12), 2); FillCircle(TPointF.Create(18, 12), 2); finally EndPaint; end; end; Помимо этого, добавлены упрощенные методы для отрисовки скругленных прямоугольников:  TfgCanvas.DrawRoundRect/FillRoundRect.
      Basic Аутентификация в TfgWebBrowser
      Для браузера по запросу добавлена поддержка Basic аутентификация. Чтобы выполнить аутентификация, достаточно задать свой обработчик на новое событие OnBasicAuthentificationRequest, в которое передается специальный AHandler, отвечающий за процесс аутентификации. Процесс аутентификация может выглядеть так:
      procedure TFormMain.fgWebBrowser1BasicAuthentificationRequest(Sender: TObject; const AUrl: string; const AHandler: IFGXBasicAuthentificationHandler); begin TfgDialogs.InputQuery('Input credentional data', ['User name', 'Password'], ['', ''], procedure (const AResult: TModalResult; const AValues: TArray<string>) begin if AResult = mrOk then AHandler.Proceed(AValues[0], AValues[1]) else AHandler.Cancel; end); end; Если аутентификация не прошла, то браузер будет пытаться пройти ее повторно, повторно вызывая OnBasicAuthentificationRequest. 
      Новые параметры экрана TfgScreen
      Для TfgScreen добавлен новый параметр SafeAreaPadding, который позволяет узнать, какие области на экране заняты системными элементами. Если раньше эти отступы можно было получить только в событии формы TfgForm.OnSafeAreaChanged, то теперь их можно получить в любой момент с помощью TfgScreenManager.Main.SafeAreaPadding.
      Tip: Не забывайте, что коэффициент масштабирования экрана всегда можно получить кроссплатформенным способом через TfgScreenManager.Main.Scale.
      Другие улучшения
      В этом релизе также содержится большое количество исправлений ошибок. 
      Всем спасибо за внимание!
    • By Luke
      Hi Guys,
      i know that this isn't a specific question about FGX but i try to ask you.

      I attach a little demo source code that i'm writing.
      I'm using a DrawerLayout and i show differents forms in the Content.
      All works perfectly.

      When i've to destroy the Form i've seen in your Demo that i've to write the rows below :

            MyForm.Parent := nil;
            FreeAndNil(MyForm);

      If i do that, it works perfectly, but, if i comment the "MyForm.Parent := nil" and i call only FreeAndNil, for Delphi MyForm is destroyed but for Android no, because i can see it in my content and i can work with it.

      I know that Java use the Garbage Collector so i'm worried about "Free Form Memory".

      In Delphi, if i seen MyForm = nil i will create it another time so, how many MyForm i've in memory ?

      I've a second question, not so important, but i try to ask:
      My TFrameUsers load data from a Rest Service into a CollectionView.
      I know that i can write better code, but i see that if i try to scroll the CollectionView, it is slow in the first 2 seconds, and then it is very fast!
      I can't understand why it is slow at the beginning...
      I'm sure that all data is available so, do you have any idea in "Why it is slow at the begin?"
      Many Thanks guys.
       
      Demo01.zip
    • By Yaroslav Brovin
      Всем хорошей пятницы,
      Немного новостей с полей разработки iOS ?. Мы продолжаем активно работать над реализацией iOS части библиотеки FGX Native и хотим поделиться с вами текущим статусом ?.
      1. Полностью реализованы новые компоненты
      TfgScrollBox, TfgVerticalScrollBox, TfgHorizontalScrollBox, TfgCardPanel, TfgSwitch, TfgTimer
      CardPanel-Demo.mp4
      2. Частично реализована поддержка TfgBitmap
      Реализованы базовые операции с TfgBitmap: 
      Создание. Работа со скейлом Чтение из разных источников. Сохранение. 3. Добавлена поддержка ресурсов
      Научили iOS приложение работать с нашими ресурсами. Теперь app пакет содержит ресурсы FGX Native приложения.
      4. Реализованы вспомогательные сервисы
      Реализована часть служебных сервисов (IFGXLocaleService, IFGXApplicationInfoService, IFGXScreenService) используемых, в том или ином виде в существующих компонентах и вспомогательных классах.
      5. Частично реализован TfgCollectionView
      Реализована базовая функциональность списка. Создание элементов. Поддержка стилей. Связывание данных.  
      CollectionView.mp4 collectionView-3.mp4
      6. Частичная реализация TfgImage
      Реализованы все методы отображения изображений, кроме маски.
      7. Реализация диалогов
      Реализованы диалоговые окна TfgDialogs для отображения сообщений и диалогов с кнопками.
      8. Добавлены новые хедеры для iOS 13.
      Транслированы и добавлены свои собственные хедеры для iOS API.
    • By gats
      hello
      I tried changing the background color on the systemstatusbar, but it didn't have the effect after it was compiled to a device with the results fixed with the original color of the device's theme. Is my method incorrect?

      thank you
    • By Yaroslav Brovin
      Вести с полей разработки библиотеки FGX Native под iOS.
      Новые полностью реализованные компоненты TfgProgresBar, TfgAniIndicator и почти полностью реализованный TfgEdit.

       
       
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...