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

Andrey Efimov

Модераторы
  • Постов

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

  • Победитель дней

    123

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

  1. Like
    Andrey Efimov отреагировална rareMax в Компонент для построения графиков   
    Посмотри еще http://www.riversoftavg.com/charting.htm. Может и такой подойдет
  2. Like
    Andrey Efimov отреагировална Brovin Yaroslav в Запуск видео по расписанию в плеере на Андроиде   
    Если такая опция и есть, то она скорее всего носит рекомендательный характер для системы, а не обязательный. Например, есть опция largeHeap в манифесте, которая говорит о том, что нужно выделять приложению больше памяти largeHeap. Но официально указано, что нет гарантии ее выполнения. Что в общем и ожидаемо. Так как если на устройстве нет свободной памяти, то больше ее брать не от куда.
     
    Тоже касается и этой опции. Так как - это будет потенциальный риск написания вредоносного приложения или сервиса, который будет занимать все ресурсы и не давать ничего загрузить.
  3. Like
    Andrey Efimov отреагировална Nix0N в Как узнать текущие положения вертикального и горизонтального скролов в TScrollBox?   
    ScrollBox.ViewportPosition.Y - вертикаль
    ScrollBox.ViewportPosition.X - горизонталь
  4. Like
    Andrey Efimov отреагировална Brovin Yaroslav в Компонент для построения графиков   
    TeeChart
     
    Варианты графиков:


  5. Like
    Andrey Efimov получил реакцию от Geex в Горизонтальная линия в целых координатах рисуется двойной   
    Посмотрите вот эту статью: http://roman.yankovsky.me/?p=1018
     
    upd от "konung": Русская версия статьи: http://roman.yankovsky.me/?p=996
  6. Like
    Andrey Efimov отреагировална Nix0N в [Руководство] Отладка программы на Android устройстве через Wi-Fi   
    Если вас, как и меня, не устраивает скорость работы эмулятора Android и в вашей системе нет свободных USB чтобы подключить устройство для отладки, то эта инструкция для вас. Внимание ! Перед дальнейшим выполнением необходимо получить root на устройстве ! Как это сделать описано здесь
     
    *статья написана на основе RAD Studio XE6 с путями по умолчанию
    **подразумевается что драйвера на устройство установлены, оно определяется в системе и успешно работает по USB кабелю с IDE
     
    Итак, начнем:
     
    1. Устанавливаем на устройство ADB over WIFI Widget. Вообще подобных программ множество, но я выбрал именно эту за её удобство. Исполнена в виде виджета, по клику активируется или деактивируется.
     
    2. Перезагружаем устройство
     
    3. Идём в раздел "Виджеты" и выносим виджет на рабочий стол (настройки виджета не меняем)
     
    4. Включаем Wi-Fi на устройстве (если еще не включен) и кликаем по виджету. Если на виджете появилась информация в виде "IP адрес : порт" и цвет виджета из серого сменился на зеленый - программа успешно запущена и можно переходить ка настройкам на ПК.
     

     
    5. Теперь необходимо подключить ADB к устройству. Для этого идем в каталог c:\Users\Public\Documents\Embarcadero\Studio\14.0\PlatformSDKs\adt-bundle-windows-x86-20131030\sdk\platform-tools\ и создадим там BAT-файл следующего содержания:
    adb connect 192.168.1.3:8000 (IP адрес и порт, которые изображены на виджете вашего устройства) pause (чтобы окно CMD не закрывалось и можно было отследить результат работы ADB) 6. Запускаем BAT-файл
     
    В случае успешного выполнения ADB подключится к устройству. Всё, можно запускать IDE.

  7. Like
    Andrey Efimov отреагировална Brovin Yaroslav в Как получить объект стиля?   
    Еще можно через StylesData. Но в этом случае вначале идет название (StyleName) внутреннего объекта стиля, а потом через точку название свойства. 
    Вы пытались задать, но не правильно указали название элемента. Если итем лист бокса принимает стиль "listboxitemlabel", то чтобы добраться например до внутреннего объекта icon. Нужно написать так:
    ListBoxItem.StylesData['icon.width'].asInteger
  8. Like
    Andrey Efimov получил реакцию от Алиса Романец в Как получить объект стиля?   
    Вроде как можно искать объект стиля, например иконку в ListBoxItem:
    var   StyleObject: TFmxObject;   StyleIcon: TControl; begin   // Ищем объект стиля - картинка. Лучше закешировать один раз, избежав постоянный поиск картинки    StyleObject := Item.FindStyleResource('icon');   if (StyleObject <> nil) and (StyleObject is TControl) then   begin     StyleIcon := TControl(StyleObject);     // и дальше работаем как с обычным контролом   end; end; попробуйте, может поможет.
  9. Like
    Andrey Efimov получил реакцию от Brovin Yaroslav в Как получить объект стиля?   
    Вроде как можно искать объект стиля, например иконку в ListBoxItem:
    var   StyleObject: TFmxObject;   StyleIcon: TControl; begin   // Ищем объект стиля - картинка. Лучше закешировать один раз, избежав постоянный поиск картинки    StyleObject := Item.FindStyleResource('icon');   if (StyleObject <> nil) and (StyleObject is TControl) then   begin     StyleIcon := TControl(StyleObject);     // и дальше работаем как с обычным контролом   end; end; попробуйте, может поможет.
  10. Like
    Andrey Efimov получил реакцию от Brovin Yaroslav в Как получить путь к файлу в Андроид приложении?   
    Прочитайте эту тему на форуме: Включение своих файлов в приложение
     
    Для сохранения логов, отладочной информации можно использовать открытые для доступа папки вашего приложения, которые при удалении приложения также удаляются и не оставляют мусора, подробности вы можете найти в этой статье: Deployment Manager или куда ещё можно задеплоить файлы
     
     
    А здесь (в комментариях), я объясняю, почему не стоит создавать папки в корне карты памяти: Обновляем файл базы данных без перезапуска приложения
     

  11. Like
    Andrey Efimov отреагировална konung в Как использовать Toast уведомления?   
    Чую ща вас заругают за оформление...
     
    Однако по теме(ам)...
     
    Та самая строчка называется Toast. и насколько я понял стандартного компонента для работы с ней - нет. Народ в сети предлагает воспользоваться вот этим: FMX Toast Component
     
    Для обработки нажатия кнопки меню - юзайте стандартно событие OnKeyUp, где Key искать равный 18 или vkMenu из System.UITypes. Стандартного меню, опять же, как я понял - нет. Однако можно обработав нажатие сделать что-нить своё.
     
    Что до прочей инфы - искать стоит на оф. сайте, в хелпе, в демках. Хотя далеко не всё что хотелось бы там есть. Ряд вопросов я для себя разобрал роясь здесь, в stackoverflow, тут http://delphifmandroid.blogspot.ru (в частности вот, про диалоговое окно с едитом http://delphifmandroid.blogspot.ru/2014/02/blog-post.html). В целом - инфа есть, но мало и разрозненно.
  12. Like
    Andrey Efimov отреагировална Brovin Yaroslav в Как использовать Toast уведомления?   
    На будущее, "Одна тема - один вопрос". Это облегчает поиск решения своей задачи, когда заголовок содержит один вопрос и ответы на него. А не одну тему внутри которой, сидит несколько вопросов.
     
    Toast уведомления
    Дополнительная информация о том, что такое Toast можно прочитать на официальном сайте Андроида: Toasts
     
    Диалоговое окно ввода
    Диалоговое окно с эдитом во все время в Delphi вызывалось одной из двух процедур. Для FireMonkey они находятся FMX.Dialogs, в VCL - VCL.Dialogs:
    function InputBox(const ACaption, APrompt, ADefault: string): string; function InputQuery(const ACaption: string; const APrompts: array of string; var AValues: array of string; CloseQueryFunc: TInputCloseQueryFunc = nil): Boolean; function InputQuery(const ACaption: string; const APrompts: array of string; var AValues: array of string; CloseQueryEvent: TInputCloseQueryEvent; Context: TObject = nil): Boolean; function InputQuery(const ACaption, APrompt: string; var Value: string): Boolean; InputQuery - отображает модальное диалоговое окно с поле ввода для ввода текстового значения

    InputBox - Отображает модальное диалоговое окно с несколькими полями ввода для множественного ввода значений.

  13. Like
    Andrey Efimov отреагировална Brovin Yaroslav в Нестандартные шрифты, какие изменения нужно сделать, что сделать переход с XE5 на XE6?   
    Так же обратите внимание на страницу "What's New in Delphi and C++Builder XE6", на которой полностью указаны все изменения от XE5 до XE6. 
  14. Like
    Andrey Efimov отреагировална Brovin Yaroslav в Поддержка соединения устройств по Bluetooth   
    В RAD Studio XE6 появилась поддержка передачи данных по беспроводной сети Wi-FI. Поддержка сети Bluethooth запланирована на будущие версии.
     
    Компоненты взаимодействия приложений называются: "Application Tethering Components". Они позволяют легко осуществить взаимодействие ваших приложений друг с другом, написанных для разных платформ. 
     
    Подробнее о новых компонентах тут: Using App Tethering
  15. Like
    Andrey Efimov отреагировална Brovin Yaroslav в Компонент рекламы   
    В RAD Studio XE6 появился новый компонент TBannerAd, который позволяет встраивать контекстную рекламу в ваше приложение. Компонент поддерживает все мобильные платформы (iOS, Android).
     
    Компонент добавлен в раздел "Additional" панели палитры инструментов.
  16. Like
    Andrey Efimov отреагировална Brovin Yaroslav в Редактирование стиля, как добавить "TStyleObject", "TActiveStyleObject" и т.п.?   
    По умолчанию эти объекты стиля и другие не зарегистрированы в палитре инструментов.
    Эти объекты используются только в стилях для:
    Упрощение создания стиля за счет композиции контролов для достижения наиболее часто используемых функций (смена изображений по триггеру в зависимости от состояния контрола  - кнопка с тремя состояниями, Текст с тенью) Увеличения производительности работы стиля за счет композиции контролов. Уменьшение размера стиля за счет повторного использования одного исходного изображения в однотипных контролах (TButton, TSpeedButton и тд). То есть вместо загрузки по отдельности каждого изображения в стиль каждого контрола, можно использовать изображения по ссылке. Чтобы их использовать, нужно их зарегистрировать в среде IDE RAD Studio.
    Это делает вот этот пакет: 
    RAD Studio XE5 - FMX Style Objects.zip RAD Studio XE6 - FMX Style Objects (XE6).zip После установки пакета в палитре инструментов появится вкладка "Style Object", в которой будут находится все служебные стилевые объекты среды RAD Studio XE5.
     
    Список добавляемых стилевых объектов: 
    TStyleObject - Использование изображения по ссылке на оригинал и области в этом изображении. Не загружает повторно объект. TSubImage - Использование изображения по ссылке на оригинал и области в этом изображении. Не загружает повторно объект. TActiveStyleObject - Объект для смены одного изображения на другое с указанным типом анимации и указанным триггером. TTabStyleObject - специальный объект для быстрого создания стиля вкладки TTabControl TCheckStyleObject - специальный упрощенный объект для создания стиля TCheckBox TButtonStyleObject - упрощенный объект стиля кнопки с поддержкой загрузки отдельных изображений на каждое состоянии кнопки (нормальное, фокус, под мышкой, нажатое) TSystemButtonObject - стиль системной кнопки. То же, что и TButtonStyleObject, только с дополнительным состоянием - неактивная кнопка TStyleTextObject - объект для быстрого создания стиля текст с тенью. TStyleTextAnimation - объект анимации для смены цвета и тени текста  TActiveStyleTextObject - объект стиля для создания текста с тенью и переключению цвета текста и тени на другой по анимации и триггеру. TTabStyleTextObject - объект стиля для создания вкладки с текстом для TTabControl. TButtonStyleTextObject - объект стиля для создания стиля кнопки с текстом. TActiveOpacityObject - объект для смены прозрачности контрола. TBrushObject - объект хранящий кисть TBrush TBitmapObject - объект хранящий изображение TBitmap TFontObject - хранение шрифта TFont TPathObject - хранение SVG пути TPath TColorObject - хранение цвета TAlphaColor
  17. Like
    Andrey Efimov отреагировална Brovin Yaroslav в Возможно ли создать свои тригеры для запуска анимации?   
    Возможно. Для этого нужно две вещи:
    Иметь опубликованное свойство триггера (published) Инициировать запуск триггера можно командами: procedure StartTriggerAnimation(const AInstance: TFmxObject; const ATrigger: string); procedure StartTriggerAnimationWait(const AInstance: TFmxObject; const ATrigger: string); procedure ApplyTriggerEffect(const AInstance: TFmxObject; const ATrigger: string); Метод выбирается в зависимости от того, что должен триггер стартовать: анимацию или эффекты переходов (Transition Effects).
  18. Like
    Andrey Efimov получил реакцию от Brovin Yaroslav в [Отклонение] Hardware-кнопки   
    Покопался в QC, рапортов о подобном баге не нашёл. В связи с этим, советую вам отрапортовать о баге в QC(http://qc.embarcadero.com/wc/qcmain.aspx?da=5631).
  19. Like
    Andrey Efimov отреагировална Brovin Yaroslav в [Отклонение] Приложения с SQLite не запускаются на Android 2.3.6   
    Проверил в  XE6 бета ошибка на сниппете не воспроизводится. Видимо QC уже исправили.
  20. Like
    Andrey Efimov получил реакцию от Ingalime в Как определить путь к корню SD-Card на Android?   
    Пока могу только посоветовать статью "Получаем список доступных устройств хранения информации".
    Важно:
    Третий метод будет работать на всех версиях Android до 4.3. С версии 4.3 произошли значительные изменения в организации файлов. К сожалению, у меня нет устройства с Android 4.3 чтобы провести анализ и написать код для версий выше 4.3.
     
    И второе, приложения, написанные в Делфи, по какой-то причине, не могут прочитать файл mounts. Я предполагаю, что если бы файл можно было прочитать, то код для версий выше 4.3 основывался на чтении этого файла.
     
    UPD (25.11.14). Для Android 4.4.* описано тут: Android 4.4 и запись на внешнюю карту памяти...
  21. Like
    Andrey Efimov отреагировална Brovin Yaroslav в [TTabControl] Красивое 3D переключение вкладок в TabControl   
    Можно сделать так:
    Делаем поворот TTabControl на от 0 до 90 градусов, чтобы он повернулся к пользователю ребром. По окончании первой анимации меняем активную вкладку в TTabControl. Делаем поворот TTabControl еще на 90 градусов от 270 до 360. В итоге TTabControl поворачивается к нам уже новой вкладкой.  Видео эффекта в действии: 

     
    Проект: TTabControl_3DRotationDemo.zip
  22. Like
    Andrey Efimov получил реакцию от Morfi в Проблема с отображением изображения подгруженного в run-time   
    Почитайте эти темы, в них  вы найдёте ответы на многие вопросы, связанные с картинками, включая ваш:
    Получаем разрешение экрана устройства, логические и физические размеры экрана в FireMonkey Как использовать иконки разного качества для экранов с разным DPI?
  23. Like
    Andrey Efimov отреагировална Brovin Yaroslav в Как изменить стиль по умолчанию для андроида?   
    Если задача стоит просто изменить стандартный платформенный стиль. То, чтобы измененный стиль не занимал дополнительное место в приложении, нужно им заменить стандартный.
     
    Я писал давно статью на эту тему тут: FMX 2.0. Глобальная замена платформенного стиля по умолчанию без TStyleBook
     
    Идея простая, заменить ресурс стандартного стиля на ваш.
     
    Дополнение для названия ресурсов в приложении. Вначале указано название ресурса в приложении, затем платформа
    iphonestyle - iPhone iOS < 7.0  ipadstyle -  iPad iOS < 7.0 iphonepadstyle_Modern - iOS >= 7.0 androidstyle - Android win7style -  WIndows 7 win8style - Windows 8 lionstyle - OSX Если же вы создаете новые стили (кастомный стиль итемов и тд), то их нужно грузить обычным способом через стиль бук. И поскольку они новые, ваши, то они включаются в ресурсы формы и увеличивают размер приложения.
  24. Like
    Andrey Efimov получил реакцию от Brovin Yaroslav в Проблема с отображением изображения подгруженного в run-time   
    Почитайте эти темы, в них  вы найдёте ответы на многие вопросы, связанные с картинками, включая ваш:
    Получаем разрешение экрана устройства, логические и физические размеры экрана в FireMonkey Как использовать иконки разного качества для экранов с разным DPI?
  25. Like
    Andrey Efimov получил реакцию от Brovin Yaroslav в Как изменить стиль по умолчанию для андроида?   
    Подключать разные стили к вашему проекту можно при помощи TStyleBook.
    Вносить изменения в стиль можно при помощи Bitmap Style Designer или TStyleBook.
    На форуме, в этом же разделе, достаточно тем про это:
    Где взять стандартный стиль в FireMonkey для iOS и Android, используемый по умолчанию? Как поменять цвет выделенного итема в ListBox для андроид стиля?
×
×
  • Создать...