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

Лидеры

  1. Brovin Yaroslav

    Brovin Yaroslav

    Администраторы


    • Баллы

      7

    • Постов

      2 124


  2. rustam_d

    rustam_d

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


    • Баллы

      3

    • Постов

      200


  3. estra

    estra

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


    • Баллы

      2

    • Постов

      370


  4. Rusland

    Rusland

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


    • Баллы

      2

    • Постов

      1 204


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

Показан контент с высокой репутацией 03.12.2015 во всех областях

  1. rustam_d

    FGX - Donate - QIWI

    Ярослав, дабы отблагодарить за работу по компонентам предлагаю вам сделать кошелек QIWI. и обязательно указать его в разделе описания версий. Время на создание у вас займет 1 минуту, а радости гораздо больше будет )). Donate вещь бескорыстная и не накладывает на вас обязательства...но хоть какая-то мотивация.
    3 балла
  2. Как вам такой вариант? procedure TForm1.ListView1Painting(Sender: TObject; Canvas: TCanvas; const ARect: TRectF); begin if ListView1.GetItemRect( ListView1.ItemCount-1 ).Bottom = ListView1.Height then Label1.Text := 'YES! Через одно место, но работает!' else Label1.Text := 'Это еще не конец...'; end;
    2 балла
  3. [TabControl] Почему свойство TabHeight не меняется в некоторых стилях?
    1 балл
  4. Фиксация высоты вкладки зависит от стиля. Если в стиле "TabControlStyle" есть объект TabHeight, то считается, что высота вкладки будет равна значению TagFloat у этого объекта: Соответственно, если вы хотите снять фиксацию высоты вкладки, то из стиля нужно удалить этот объект.
    1 балл
  5. krapotkin

    Настройки печати

    через winapi у меня есть незаконченный проект, мне нужно было для специальных фотопринтеров настройки крутить не помню, работает ли он окончательно, но для примера подойдет printerInfo.7z
    1 балл
  6. Rusland

    PullRefresh

    Переделал маленько код от ZuBy из первой ссылки для ListView. Теперь дрожит меньше, картинка переворачивается. Пользуйтесь UpdateMe2PullRefresh.zip
    1 балл
  7. Почему при изменении в FormMouseMove значение Y прыгает? Чем ниже опускаешься, тем больше эти прыжки (аж до 10 пикселей). Например, сдвигаешь на 1 пиксель вниз (пока тестирую на windows), а Y уменьшается на 10. Сдвигаешь еще на 1пикс вниз, Y возвращается к нормальному значению. PS. Еще есть какая-то зависимость от количество элементов в listbox-e. Чем больше элементов, тем больше "прыжки". PPS. после обработки напильником нормально работает http://fire-monkey.ru/topic/2023-pullrefresh/#entry10918
    1 балл
  8. Обновил описание и выложил новую версию 0.7.1.74 пакета с ios реализацией.
    1 балл
  9. Ссылка на скачивание (Только для RAD Studio RX): fgx_0.7.1.74.zip Инструкция по установке: "Инструкция по установке набора компонентов FGX" FGX - Donate - QIWI: 4890 4941 7671 0929 Описание Эта версия включает в себя следующий набор компонентов: Дизайнер итемов - дизайнер итемов. TfgToast (UPDATED) - класс отображения быстрых сообщений TfgFlipView - слайдер изображений. Поддерживает несколько способов переключения фотографий при помощи эффектов и сдвигов. При первом использовании ОБЯЗАТЕЛЬНО прочитать инструкцию "TfgFlipView - Инструкция загрузки стиля" TfgPositionAnimation - анимация свойств типа TPosition TfgPosition3DAnimation - анимация свойств типа TPosition3D TfgBitmapLinkAnimation - анимация свойств типа TBitmapLink TfgProgressDialog - Компонент для отображения диалогового окна в момент выполнения длительной фоновой операции, когда время выполнения фоновой операции можно оценить. TfgActivityDialog - компонент для отображения диалогового окна в момент выполнения длительной фоновой операции, когда время выполнения операции не возможно адекватно оценить. TfgActionSheet - Аналог контекстного меню для мобильных платформ. TfgColorsPanel - Палитра цветов с возможностью выбора цвета. TfgGradientEdit - Компонент выбора градиента. TfgLinkedLabel - Метка поддерживающая открытие Web ссылки в браузере по умолчанию. TfgApplicationEvents - компонент с возможностью легко задать обработчики на основные события приложения: Отслеживание смены состояния приложения, простой, обновление и выполнение действий Actions, Изменение ориентации устройства и тд. TfgVirtualKeyboard - компонент облегчающий работу с виртуальной клавиатурой. Позволяет задать пользовательские кнопки над виртуальной клавиатурой под iOS, а так же отлавливать события по отображению и скрытию клавиатуры. Зарегистрированы все стилевые объекты на вкладке "FGX: Style objects" Список изменений TfgToast: Добавлена реализация для iOS платформы. С эмулирована очередь тостов. Другими словами, при быстрой отправки несколько тостов, они будут показываться последовательно согласно заданным интервалом отображения тоста. Добавлены глобальные настройки, позволяющие настроить внешний вид всех тостов в рамках приложения: TfgToast.DefaultBackgroundColor, TfgToast.DefaultMessageColor и TfgToast.DefaultPadding Исправлена ошибка, которая не меняла цвет текста тоста, если тост без картинки. Обновлен пример ToastsDemo
    1 балл
  10. Все, окончательно осознал механизм работы, теперь все стало на свои места. Все дело в том, что моя камера выдает данные в формате AARRGGBB, только вот значение старших двух бит равно $00, а не $FF. Поэтому картинка и воспринимается прозрачной для TImage. В итоге пробежался в цикле по памяти, поменял нули на $FF и все заработало.
    1 балл
  11. Когда была такая задача, то реализовывал разными способами, например, Создаём RC файл (файл ресурсов) и деплоим в приложение или использовал хранение картинок в базе, но только при условии, что они совсем маленькие. Важно заметить, что оба этих способа, единожды, при запуске приложения, скушают оперативу. В вашем случае: 300 x 70 = 21 000 КБ = 20,51 МБ Значит к разовому (при каждом запуске приложения) потреблению оперативы прибавляем ещё 20 МБ. В целом это нормально и в обоих случаях, доступ к картинкам будет достаточно быстрый, т.к. сами по себе, картинки маленькие. В моём случае было 25МБ, картинки были больше и для ускорения загрузки, я кэшировал их на диске, т.е. если картинку хотя бы раз запросили, то она выгружается из базы на диск и в дальнейшем, при запросах, проверяется сначала на диске, а потом уже лезет в базу, если картинка не найдена в кэше. а вообще, как я уже писал в одной из статей: Везде свои плюсы и свои минусы... Как то так... p.s. Примерно вот так делается через файл ресурсов (ссылки на мой блог(не реклама): Игра "Одинаковые картинки" и Пишем простейшую игру (головоломку) для детей p.s.2. По поводу приложения работающего с картинками в базе, ссылок не дам, т.к. это был коммерческий заказ со стороны...
    1 балл
  12. делал подобную загрузку картинки загружал на телефон при открытии списка товаров или категории они загружались только 1 раз при повторном обращении проверял есть ли картинка если нет загружал с сервера, скорость работы в разы выше чем когда загрузка идет раз за разом
    1 балл
  13. Спасибо, ништяк вообще
    1 балл
  14. Для получения характеристик экрана есть интерфейс IFMXDeviceMetricsService
    1 балл
  15. Brovin Yaroslav

    Описание TfgColorsPanel

    Описание Назначение: Компонент предназначен отображения палитры цветов и осуществлении выбора цвета пользователем. Широкий набор настроек позволяет детально настроить внешний вид палитры. Цвета отображаются в виде сетки, где каждая ячейка сетки отвечает одному из цветов палитры. Поддерживаемые платформы: Windows, OSX, iOS, Android Демо проект: Samples\ColorPanelDemo\ColorPanelDemo.dproj Возможности Настройка размеров ячеек цветов - TfgColorsPanel.CellSize Настройка закругления внешних углов сетки - TfgColorsPanel.BorderRadius Настройка цвета границ сетки - TfgColorsPanel.Stroke Два предустановленных набора цветов: X11, WebSafe - TfgColorsPanel.PresetKind Возможность указания своего набора цветов - TfgColorsPanel.ColorsPreset Определение факта выбора цвета пользователем - TfgColorsPanel.OnColorSelected Возможность выполнить свою отрисовку ячейки цвета. Например, для отображения типа градиента или вывода изображения и тд - TfgColorsPanel.OnPaintCell Возможность менять цвет ячейки текущего набора цветов - TfgColorsPanel.OnGetColor
    1 балл
  16. Добрый день, Определить, что TListBox (TScrollBox) прокручен до конца можно используя событие OnViewPortPositionChange. Это событие вызывается каждый раз при прокручивании контента. Этот метод возвращает текущее положение ViewPort - позиция окна, в котором отображаются текущие элементы TListBox. Об этом подробно описано в этой статье: "Платформонезависимый скроллинг в Fire Monkey" Ниже приведен код, который проверяет, что TListBox прокручен до конца. procedure TForm1.ListBox1ViewportPositionChange(Sender: TObject; const OldViewportPosition, NewViewportPosition: TPointF; const ContentSizeChanged: Boolean); begin if NewViewportPosition.Y > ListBox1.ContentBounds.Height - ListBox1.Height then ShowMessage('End!'); end;
    1 балл
  17. Если говорить о размере приложения. То первоначально нужно понять, что входить в состав пакета? Затем определить, что нужно и не нужно? Давайте посмотрим на примере состав пакета небольшого Андроида приложения, написанного в RAD Studio XE5 Delphi. В качестве примера, я взял приложение PhotoEditorDemo, доступный на официальном Open Source проекте примеров RAD Studio XE5 Это пример кроссплатформенного простого фоторедактора: Описание примера: http://docwiki.embarcadero.com/CodeExamples/XE5/en/FMX.Mobile.PhotoEditorDemo_Sample_(Delphi) Исходники: http://sourceforge.net/p/radstudiodemos/code/HEAD/tree/branches/RadStudio_XE5_Update/FireMonkeyMobile/Delphi/PhotoEditorDemo/ Размер сжатого приложения Собираем приложение и смотрим на результирующий пакет PhotoEditorDemo.apk (Он располагается в директории .\Android\Debug\PhotoEditorDemo\bin относительно корня проекта). После сборки приложения его размер ~6 760 КБ (в зависимости от Debug or Release сборки). Это размер сжатого пакета нативного приложения. Размер распакованного приложения Если мы распакуем ZIP архиватором этот файл, то увидим его содержание: В распакованном виде, пакет занимает 21,7 МБ. Состав пакета Что же входит в его состав: lib - место хранения собранных натиных библиотек приложения. Поскольку приложение нативное, то оно работает на основании библиотеки .so. res - место хранения ресурсов приложения (картинки, иконки и тд) META-INF - хранение подписи приложения, контрольные суммы файлов ресурсов (картинок, звуков и т.д.) AndroidManifest.xml - манифест приложения (расширенный аналог VersionInfo в Windows) classes.dex - файл с java реализацией дополнительного функционала FireMonkey. resources.arsc - таблица ресурсов. В этом файле собраны xml-описания всех ресурсов. Самый значительный вклад в размер пакета вносят: libPhotoEditorDemo.so (20 060 КБ) - непосредственно сам бинарник приложения classes.dex (1 948 КБ) - частичная реализация FireMonkey на java. Размер самого приложения большой потому, что включает в себя полностью все Delphi библиотеки, которые используется FireMonkey. А это: RTL Хедеры для доступа к Android API Нативные стили для Android (три стиля - 1х, 1.5x, 2х, 3х скалирования экрана). Каждый стиль содержит исходную png картинку нативного стиля. Фильтры и эффекты FireMonkey Вся остальная реализация FireMonkey. Довольно большой набор того, что нужно включить в пакет и тяжело выбросить. Если говорить о приложении написанном в Eclipse, то приложение включает в себя только часть пользовательского кода. И размер мал за счет того, что весь Android API находится перманентно на самом устройстве (не в пакете). Если бы используемая часть библиотек FireMonkey находилась на каждом устройстве, то размер приложения сократился бы раза в четыре. Вывод Размер установочного пакета приложения, написанного на FireMonkey не большой для нативных приложений порядка 6 760 КБ для реализации простого фоторедактора (Хотя для кого-то это может быть много). В установленном виде приложение занимает от 20 000 КБ. Основная причина полная интеграция используемых библиотек в пакет приложения. Вероятность уменьшить этот размер маловероятна. Однако увеличение функционала приложения не так сказывается на дальнейший рост приложения. Можно попробовать сделать усеченные библиотеки, сократить функциональность. Но это не даст ощутимого уменьшения результирующего размера приложения. На сколько важен размер приложения для конкретной работы приложения каждый заказчик решает сам. P.S. Цель этого ответа дать подробный ответ о причинах такого размера, а не попытка вызвать обсуждение на тему сравнения сред разработки. Каждый framework обладает своими достоинствами и недостатками. И выбор средства разработки диктуется совокупностью требования заказчика.
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...