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

Andrey Efimov

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

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

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

    123

Весь контент Andrey Efimov

  1. Вроде как можно искать объект стиля, например иконку в 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; попробуйте, может поможет.
  2. Для вашей ситуации: Добавляем файл «settings.ini» в «Deployment Manager», в столбце «Remote Path» для нашего файла прописываем путь «.\assets\», после установки приложения на устройство, этот файл будет лежать в папке «/storage/emulated/0/Android/data/<application ID>/files». Получить быстрый доступ к этой папке можно при помощи «TPath.GetSharedDocumentsPath». Соответственно в коде(на Delphi) путь до файла будет выглядеть так: TPath.Combine(TPath.GetSharedDocumentsPath, 'settings.ini'); в случае если вы используете папку отличную от стандартных, т.е. создали папку вручную на карте памяти, то и полный путь до неё придётся прописывать вручную
  3. На форуме уже есть решение для iOS: Как сделать эффект обновления TListBox, как в UIListView под iOS?
  4. Давайте назовём синюю стрелочку – маркером. Этот маркер указывает/управляет положением каретки в поле ввода. (так не будет путаницы Думаю, повторить это возможно, надо только написать свой компонент. Повторюсь, тут больше подскажет Ярослав, как только у него появится свободное время.
  5. Вы спрашивали "Где можно порыться на премет определения координат курсора и т.п.?", в моём понимании, слово "курсор" на мобильной платформе означает "палец" (т.е. касание пальца). Вам же нужно (видимо) узнать положение каретки в поле Edit. (это отдельный вопрос, а значит отдельная тема)
  6. Не обратил внимания, что клавиатура стандартная. Я пробовал на Samsung’овской. Как временный костыль, попробуйте сбрасывать фокус или программно закрывать и открывать клавиатуру для контрола.
  7. По поводу надстройки, тут Ярослав точнее может подсказать. Про координаты, ни чего сложного нет, почитать/посмотреть примеры можно в разделе "Положение, размеры, выравнивание - Перемещение контролов" p.s. По сути, вы пишите об отклонении от ожидаемого. Поэтому необходимо оформлять пост по правилам "Правила публикации отклонений от ожидаемого"
  8. Не удалось повторить подобное поведение на Samsung Galaxy S2 (4.1.2), Delphi XE6. У меня текст не подчёркивается. p.s. Добавьте информацию о версии RAD Studio.
  9. Прочитайте эту тему на форуме: Включение своих файлов в приложение Для сохранения логов, отладочной информации можно использовать открытые для доступа папки вашего приложения, которые при удалении приложения также удаляются и не оставляют мусора, подробности вы можете найти в этой статье: Deployment Manager или куда ещё можно задеплоить файлы А здесь (в комментариях), я объясняю, почему не стоит создавать папки в корне карты памяти: Обновляем файл базы данных без перезапуска приложения
  10. В контролах FireMonkey, данная фишка не реализована. Попробуйте воспользоваться сторонним компонентом, в нём реализованы нативные контролы: Нативные компоненты - D.P.F Delphi Android Native Components p.s. Пожалуйста, оформляйте все темы в соответствии с правилами форума.
  11. Если открыть стандартный файл стиля, то можно заметить такие элементы/компоненты как "TStyleObject", "TActiveStyleObject", "TBrushObject". Интересует вопрос: Как добавлять такие элементы в стиль?
  12. Нет, так не прокатывает, т.к. анимация начинает дёргаться. При ручной смене индекса, Итемы также меняют визуальное положение, просто без анимации. Т.е. Итем дважды пытается сменить свою позицию.
  13. Приветствую. Задача такая: Поменять местами два (любых) ListBoxItem’а используя при этом анимацию(AnimateFloat или другую). Т.е. добавить плавности смены. Что нужно учитывать: Каждый из Итемов, должен принимать новый Index. Пример: У нас есть два Итема «ListBoxItem1(Index=0) и ListBoxItem2(Index=1)». После обмена должно получиться «ListBoxItem2(Index=0) и ListBoxItem1(Index=1)». Т.е. если мы меняем местами два листбокса, то меняем их полностью, учитывая индексы. Что я пытался использовать: «FMX.ListBox.TCustomListBox.ItemsExchange», всё меняется, но нет анимации. Изменять Индекс у обоих Итемов вручную, но опять же нет анимации смены и как выяснил потом, это тот же принцип, что у первого пункта. Пытался менять Итемы с помощью «AnimateFloat» управляя свойством «Position.X и Position.Y», всё отлично, но, как и ожидалось, Итемы меняются только визуально. По сути, мне необходимо создать эффект перетаскивания, который является неким подобием Drag and Drop.
  14. Покопался в QC, рапортов о подобном баге не нашёл. В связи с этим, советую вам отрапортовать о баге в QC(http://qc.embarcadero.com/wc/qcmain.aspx?da=5631).
  15. С подобным багом ко мне уже кто-то обращался, не могу сейчас найти сообщение с названием устройства. Нужно в QC посмотреть, возможно, уже исправили. (Опять же сам посмотреть не могу, т.к. убегаю сейчас. Как вернусь, проверю)
  16. Всё, это последний ответ вам (на сегодня). Читайте внимательно моё последнее сообщение. А ещё читаем ВикипедиЯ - PNG От того, что вы изменили расширение картинок, их формат не меняется. Чтобы изменить формат изображения, его нужно открыть в любом редакторе изображений и пересохранить в нужном формате. p.s. Разговор про то, как сохранить картинку в формате png, даже не связан с firemonkey.
  17. Зачем вам это? наймите нормального программиста и он напишет вам приложение... И я не вижу, чтобы вы сами пытались найти ошибку, даже теперь когда я вам указал на ошибку, вы ведёте себя так как будто я вам ничего не говорил... Напишу ещё раз: Ваши ошибки: Вы зачем загружаете картинки с расширением «.png», когда они на самом деле в GIF формате?? Решение: Загрузить картинки в PNG формате с расширением ".png". У Image1 выставить свойство WrapMode: iwStretch У вас почти всё лишнее, нужно было оставить процедуры "TForm1.FormCreate" и "SQLSelect"...
  18. Пока могу только посоветовать статью "Получаем список доступных устройств хранения информации". Важно: Третий метод будет работать на всех версиях Android до 4.3. С версии 4.3 произошли значительные изменения в организации файлов. К сожалению, у меня нет устройства с Android 4.3 чтобы провести анализ и написать код для версий выше 4.3. И второе, приложения, написанные в Делфи, по какой-то причине, не могут прочитать файл mounts. Я предполагаю, что если бы файл можно было прочитать, то код для версий выше 4.3 основывался на чтении этого файла. UPD (25.11.14). Для Android 4.4.* описано тут: Android 4.4 и запись на внешнюю карту памяти...
  19. Ну вот вы опять… Зачем вы выложили весь проект целиком?! Я же сказал вам выложить чистый проект, на котором воспроизводится ошибка или почистить этот, оставить только минимально необходимый код для воспроизведения ошибки… Далее… Я уже не раз писал вам, чтобы вы не просто слепо копировали чужой код, а ещё и разбирали его, похоже вам просто не хочется этого делать. В данном случае всё опять повторяется, копируете код не думая. Если бы вы почистили проект, то нашли бы причину сами. А так мне пришлось делать это за вас. И, похоже, вы даже не пытались разобраться самостоятельно, а потом удивляетесь, что у вас не работает приложение. Ваши ошибки: Вы зачем загружаете картинки с расширением «.png», когда они на самом деле в GIF формате?? Так же вам стоит обратить внимание на файл «FMX.FontGlyphs.Android.pas», здесь сами догадаетесь. p.s. Текст выше мог показаться грубоватым, на самом деле, я всегда готов помочь, но только при условии, что человек хотя бы пытается сам разобраться в коде.
  20. Один из посетителей моего блога прочитав статью, в которой создаётся игра для детей с использование SQLite, в комментариях сообщил «На Android 2.3 вылетает и на устройстве и на эмуляторе, пытался сам найти и устранить проблему, так и не получилось, выше Android 4.0 работает прекрасно, где копать, не ясно.». Я пообещал проверить и сегодня, на очень маленький промежуток времени, получилось достать устройство Samsung Galaxy S Plus (I-9001). Попробовал запустить своё приложение, и выпало сообщение «Произошла неожиданная остановка приложения Rebusy (процесс com.embarcadero.Rebusy). Повторите попытку.» Предположив, что проблема связана именно с работой SQLite, решил запустить (через F9) стандартный сниппет (RAD Studio\12.0\Samples\MobileCodeSnippets\SQLite) и ошибка повторилась. Отчёт приложил log.zip. После этого попробовал запустить приложение к статье «Splash Screen», запускается, но сам сплеш скрин не успевает появиться . Потом попробовал запустить приложение из статьи «Файловый менеджер», запустилось и работало без проблем. Вопросы: Что за баг такой может быть? Может быть, кто-то ещё может проверить данное поведение (у стандартного сниппета) на устройстве с Android 2.3.3 – 2.3.6? Нужно ли сообщать о нём в QC или в XE6 уже исправили? Версия Android: 2.3.6 Версия IDE: Delphi XE5 Update 2 19.0.14356.6604 Скриншотов не приложу, т.к. забыл сделать их . Update. Нашёл что-то похожее в QC (119856), а может и то, что нужно. Я так понимаю исправили в XE6... p.s. Сейчас заметил, что исправили ещё один мой баг(в TMemo), класс! остаётся ещё два))
  21. Я других способов изменения стиля не знаю. Может быть, Ярослав что-то подскажет. Если необходимо внести небольшие изменения в стандартный стиль, например, изменить расстояние между картинкой и текстом в ListBoxItem, то можно создать и подгрузить стиль только с вашим изменением, тогда сам файл (в данном примере) будет весить всего 34 КБ.
  22. Почитайте эти темы, в них вы найдёте ответы на многие вопросы, связанные с картинками, включая ваш: Получаем разрешение экрана устройства, логические и физические размеры экрана в FireMonkey Как использовать иконки разного качества для экранов с разным DPI?
  23. Подключать разные стили к вашему проекту можно при помощи TStyleBook. Вносить изменения в стиль можно при помощи Bitmap Style Designer или TStyleBook. На форуме, в этом же разделе, достаточно тем про это: Где взять стандартный стиль в FireMonkey для iOS и Android, используемый по умолчанию? Как поменять цвет выделенного итема в ListBox для андроид стиля?
×
×
  • Создать...