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

Лидеры

Популярный контент

Показан контент с высокой репутацией 13.12.2018 в Сообщения

  1. Dev

    Анимированная смена форм

    https://www.youtube.com/watch?v=YU7MlY58n9U&t=59s
    3 балла
  2. Ну, по гайдам Эппла такая кнопка уже есть внизу по центру телефона, и ее не нужно изобретать заново. По гайдам, чтобы закрыть приложение нужно нажать на физическую кнопку "домой". Все. Все остальное делает ОС. Именно так, как вы описали. Мы тоже хотели сделать в приложении кнопку "выход", но посовещавшись отказались от нее. PS если же вам необходимо именно "выключить" приложение, чтобы оно не выполняло какие-либо действия в фоне - ловите событие перехода приложения в фон, и реагируйте соответственно.
    2 балла
  3. Из-за логического масштабирования. Вот здесь описано про это подробнее.
    2 балла
  4. Barbanel

    Изменение разрешения экрана

    Вам нужны стили для каждого коэффициента масштабирования. Обычно по дефолту в стилях уже все готово (возможно вам нужно что-то настроить для своих кастомных элементов, или если ваш интерфейс в корне отличается от того что предлагают стили). Более ничего не нужно. Все происходит автоматически. Если "само" автоматически не происходит, то опишите что вам требуется и в чем именно проблема.
    1 балл
  5. Barbanel

    Анимированная смена форм

    Мы используем TTabControl с отключенным отображением вкладок. Каждая вкладка имитирует свое окно. Порядок следования вкладом можно менять на лету. Методы Next() и Previous() анимированно показывают следующую/предыдущую вкладку.
    1 балл
  6. Введение Появление экранов повышенной плотность физических точек, привело с одной стороны к проблеме адаптации графического интерфейса под разные разрешения экранов при их одинаковых физических размерах, с другой к увеличению четкости и качества картинки. Например, если раньше на iPhone 3 при размере экрана 3,5 дюйма позволял отобразить 320х480 точек, то на устройстве iPhone 4 при таком же физическом размере экрана, экран мог уже отображать 640х960 точек. Это хорошо видно на увеличенном изображении обычного экрана и ретина экрана на рисунке ниже (слева - не ретина, справа - ретина (2х)). Справа количество физических точек ровно в четыре раза больше, чем слева: Для разработчика это могло означать, что интерфейс привязанный к разрешению 320х480 на Retina экране будет занимать только четверть экрана. Естественно, что использование разрешения экрана в физических координатах не удобно с этой точки зрения. Именно по этому появились логические координаты, которые гарантируют, что тот же пользовательский интерфейс для iPhone 3, будет иметь такие же размеры (физические) и на экране с ретиной. FireMonkey работает в логических координатах. Это означает, что на iPhone 3 - 4 мы работаем с логическим разрешением 320x480 точек. Однако, при отображении интерфейса на iPhone 4 c (с двойной плотностью пикселей по сравнению с iPhone 3), интерфейс автоматически масштабируется на физическое разрешение 640х960 с коэффициентом масштабирования равным 2. Практика Теперь посмотрим, как получить всю эту информацию. Вся информация об экране (логический размер и коэффициент масштабирования) находится в сервисе IFMXScreenService. Чтобы получить физическое разрешение экрана, нужно логический размер умножить на коэффициент масштабирования. Код ниже показывает, как получить доступ к этому сервису и извлечь требуемые параметры: var ScreenService: IFMXScreenService; LogicScreenSize: TPoint; ScreenScale: Single; begin // Запрашиваем сервис экрана, для получения информации о размере и текущем коэффициенте масштабирования if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService)) then begin LogicScreenSize := ScreenService.GetScreenSize.Round; ScreenScale := ScreenService.GetScreenScale; LabelLogicScreenSize.Text := Format('Логический размер: %d, %d', [LogicScreenSize.X, LogicScreenSize.Y]); LabelPhysicScreenSize.Text := Format('Физический размер: %f, %f', [LogicScreenSize.X * ScreenScale, LogicScreenSize.Y * ScreenScale]); LabelScreenScale.Text := Format('Коэффициент масштабирования: %f',[ScreenService.GetScreenScale]); end; end; Результат кода приведен на снимке экранов ниже для iPad устройств с ретиной экраном и без:
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...