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

Yarpda

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

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

  • Посещение

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

    8

Сообщения, опубликованные Yarpda

  1. Тогда еще одни вопрос. FMX для мобильных кто-то будет дальше развивать или в связи с выпуском FGX   FMX в конце концов умрет как устаревшая платформа?

    Мне кажется существование двух параллельных платформ для мобильных разработок на базе одной среды это мягко говоря неоднозначный ход...

  2. Интересно как FGX будут уживаться с текущей FMX, и какова была необходимость в создании именно новой платформы, а не дорабатывать FMX в том же функционале?

  3. 4 часа назад, DMS сказал:

    Под Windows интерфейс для пользователя - одно удовольствие. Всплывающие подсказки (hints) и прочие вещи.

    Как реализовать нечто подобное hints для Android?

    У меня был опыт реализации хинтов на андроид. Проблема вся в том что в нем нет мышки, а только нажатия. Вышел из проблемы (может быть не очень красиво но..) так: кнопки или другие элементы на форме, которым нужен хинт обрабатывают событие NoMouseEnter - выводим хинт куда нибудь (у меня используется простой Lable в лайауте поверх формы, так чтобы он не закрывался пальцем при наведении на элемент). После этого OnMouseExit -  убираем lable с формы. Выходит так, что пока пользователь держит палец на элементе (не отпуская), выводится хинт, если убирает хинт пропадает. Проблема остается в том, что данное поведение (хинты) не типичны для андроид, поэтому пользователям нужно как-то нужно заранее объяснять, что им можно так делать, чтобы посмотреть что к чему. По идее конечно нужно делать программы так, чтобы пользователь не нуждался в хинтах, но безусловно бывают ситуации где они необходимы.

  4. В 07.03.2018 в 02:22, Равиль Зарипов (ZuBy) сказал:

    Настройки и не помогут, нужно кодом переключение делать

    Да я уже это понял. Но даже в коде это реализовать не получилось (по материалам форума).  Я уже вышел из ситуации, хотя и не очень хорошо как мне кажется, вывожу надпись, чтобы перевернули устройство, а при повороте отображаю уже нужную форму. А так чтобы она сразу отображалась в ландшафтной ориентации  и больше никак не реагировала на смену ориентации телефона сделать не получилось. Вроде элементарная вещь, но сделать не выходит...

    (Delphi 10.1 Berlin)

  5. Есть проект на Андроид, в нем все формы портретной ориентации (ориентация отключена путем enabled custom orientation (что само по себе тоже странно, но сейчас не об этом)).

    Нужно сделать так, что одна из формы (вызываемая кнопкой) сразу открывалась  в альбомной ориентации. Никакие настройки формы типа FormFactor не дают нужного результата.

    Подскажите как справиться с задачей?

  6. Если кому интересно, то совсем покадрово видео играть не получилось. Меняя CurrentTime даже по немногу 100ms, по началу ничего не происходит, а потом прыгает, но не на кадр, а где-то на полсекунды (при прибавлении 400 мс только картинка меняется) (возможно как-то еще связано с конкретным кодеком видео, ключевыми кадрами или еще чем-то). Но из ситуации вышел так. Включаю плей и останавливаю по таймеру через 50 миллисекунд например, получается короткий кусочек видео. В таком режиме эти кусочки можно делать куда меньше 400 мс (как это делается при прибавлении currentime в статике). и 50 и 30 и т.д. И смотреть тоже приятнее. Но это работает только вперед, назад проигрывать не получается, поэтому приходится отказываться мининм на 400 мс. Но это тоже хорошо.  

  7. 1 минуту назад, Alex7wrt сказал:

    Попробуйте менять значение параметра CurrentTime (название пишу по памяти, но вроде правильно) на длительность кадра. По идее должно сработать.

    Спасибо. Попробую.

    P.S. Если у кого-то есть реальный опыт в этом направлении, отпишитесь пожалуйста.

  8. Есть необходимость дать пользователю в приложении возможность подакрового контроль над воспроизведением видео. Т.е. у пользователя есть стрелочки влево и вправо нажимая на которые видео должно сменяться на один кадр вперед или назад. Или хотя-бы управлять скоростью воспроизведения видео, замедляя его. 

    Возможно ли такое в FMX (в частности под андроид)?

  9. 5 часов назад, FeLDMARShaL сказал:

    Будет ли реализованна поддержка новой версии Delphi?

    Ну и любимый вопрос для разработчика :) ... хотя бы примерные сроки, ну или хотя бы на како этапе сейчас развитие проекта?

    А чего тут говорить. Записывайтесь на вебинар (сегодня 28.03.2017 в 15.00 МСК) на русском, там все и узнаете. )) https://attendee.gotowebinar.com/register/9037111850104696321

  10. Там просто есть баг (фича) именно на этой страничке настроек. А именно не видно кнопки ОК пока не растянешь окно вручную чуть ниже. Растяните нижнюю границу окна настроек ниже, появится кнопка ОК, ее нажмете и все сохранится. ))

  11. Хочу попробовать себя в этом направлении, но прежде чем начать хотелось бы знать возможно ли это в принципе?
    Еще не пробовал 3d компоненты в FMX, но есть подозрение, что эту фичу на них реализовать не получится в ввиду технологических ограничений, но надеюсь, что я ошибаюсь.

    Кто-то имеет хоть незначительный опыт в этом направлении? 

    Любые теоретически размышления по поводу этой связки (в том числе проблемы производительности и т.д.) также приветствуются ))

  12. В 06.10.2016 в 00:14, antarey сказал:

    Согласно мануалу  реализовал код
     

    
    void TfrmMain::CalculateItemHeight(TObject *Sender)
    {
        TTextLayout* FTextLayout = TTextLayoutManager::TextLayoutForClass(TTextLayoutManager::DefaultTextLayout);
        TListBoxItem *ListItem = dynamic_cast<TListBoxItem*>(Sender);
    
            FTextLayout->BeginUpdate();
            try
            {
                FTextLayout->Text = ListItem->Text;
                FTextLayout->MaxSize = TPointF(ListItem->Width, 1000);
                FTextLayout->WordWrap = ListItem->WordWrap;
                FTextLayout->Font = ListItem->Font;
                FTextLayout->HorizontalAlign = ListItem->TextAlign;
                FTextLayout->VerticalAlign = ListItem->VertTextAlign;
            }
            __finally
            {
                FTextLayout->EndUpdate();
            }
    
                ListItem->Height = FTextLayout->Height;
    }

    Прописал события для итема, итемы создаю в рантайме, и ничего :( 
    Как автоматически подгонять высоту итема под текст? Что я не так сделал? 

    Как мне кажется либо это событие не вызывается, либо Begin/end Update, лишние, потому как в этом режиме не весь код выполняется как обычно (практическое наблюдение) .

    А запускал расчет высоты прямо в момент создания итема. Так он гарантированно выполнится. И если если предполагается возможность поворота экрана то еще на событие OnScale (или OnResize, на память не помню).

  13. По идее такой трюк должен работать по умолчанию. Если база деплоилась отдельным файлом, он заменен не будет при обновлении. Гораздо сложнее если в эту базу нужно внести новые данные, или изменить структуру. А если базу данных не трогать, то она должна сохраниться в неизменном виде при обновлении.

    Вы же это можете сами у себя на устройстве попробовать, измените версию APK в проекте и уставите на устройство из APK не удаляя предыдущую (нужно чтобы подпись совпадала у установленной и новой версии программы).  Проверьте сохранились ли данные.

  14. 3 часа назад, Pax Beach сказал:

    Попробуйте сделать деплой вручную. Скопировать APK в телефон. Вручную установить APK.

    С ручной то установкой как раз никаких проблем нет. А вот так как полагается не работает.

    Сейчас проверил собрать тот же проект на XE7  без проблем установилась и запустилась.... может быть потому что я выбрал 23 версию SDK для компиляции в андроид...

  15. Скачала побаловаться Berlin. Пробую установку приложений из Samples на андроид (в частность Object Pascal\Multi-Device Samples\User Interface\Controls).

    Компиляция, деплоймент идет нормально, но при попытке инсталляции приложения на устройство процесс зависает и примерно через минуту все время пишет ошибку:

    Unable tp create process: pkg: /data/local/tmp/Controls.apk  а ниже Success.

    Телефон в это время никак не реагирует на установку, однако в списке программ приложение появляется.

    Такое ощущение что, связь с устройство теряется или еще что-то. Естественно, что ни о какой отладке при приложения тоже речи идти не может.

    я сначала грешил на телефон (Blueboo xTouch андроид 5.1). Поставил эмулятор на андроид 6.0, попытался установить туда, но поведение программы точно такое же - ошибка, но приложение все-таки устанавливается.

    Никто не сталкивался с такой проблемой?

     

     

     

  16. Наверное глупые вопрос, но...

    Есть ли возможность дебага приложения запущенного на Андроид? Если например установить симулятор?

    Или можно только использовать логирование?

    Теоретически все должно работать также как под Win. Т.е. цепляешь телефон, запускаешь в режиме дебага, и все как обычно. Но на практике почем-то этот режим запускается крайне не охотно. У меня обычно получается после перезагрузки телефона. Но после пары дебагов, опять приходится перезагружаться. Возможно конечно это у меня что-то с телефоном, но до этого был другой, было чуть лучше, но в общем-то также, и тогда была еще XE5.....

  17.  

    Здравствуйте, создал маленькую игрушку для андроида, сам файл .apk весит 20 мб, а оперативку жрет не мало 120 - 150 мб. Даже самые простые приложения созданные Fire Monkey жрут около 40 - 50 мб оперативки. Это только у меня или у всех так? Ест ли какие нибудь способы сократить потребление оперативной памяти?

    Способы, думаю есть, зависит от того какой именно функционал реализован в вашем приложении. Т.е. по сути всё сводится к оптимизации логики и кода.

    К сожлению пособов оптимизировать программу "Hello world!" весьма не много...

    Тут дело в том, что программа, написаная по FMЧ тянет за собой весь фреймворк, который необходим ей для запуска. Он помещается в памяти при запуске приложения, даже если оно "пустое". Оно сарзу будет занимть 40-50 метров. под андроид так и того больше. Поэтому, если и существует возможность  оптимизации расхода памяти под FMX, то боюсь в основном только  на стороне разработчиков фрейма... ;)

  18. Как я понимаю такое в текущей реализации сделать без танцев с бубном не удастся (что касается автоматизации процесса), т.к. это должен быть сервис висящий в памяти, а не просто программа. А сервис, даже если это возможно, отъедающий 100мб памяти, это сильно круто помоему... ))

  19.  

    Поздравляю! А с сочетании TargetSDK=14 не пробовали? Я думаю тут лучше будет использовать именно его, чтобы не ограничивать количество устройств, на которых будет запускаться программа.

    Спасибо! Не совсем понял вопрос, и так стоит android:targetSdkVersion="14"

    Я имел ввиду оставить minSDK=9 а TargetSDK =14.  Теоретически это должно дать возможность запускаться программе на старых устройствах, версии андроид ниже 4.0.3, но убрать кнопку меню на устройствах где версия выше. (просто интересно сработает ли это, т.к. самому не на чем проверить эту кнопку)))

×
×
  • Создать...