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

AngryOwl

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

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

  • Посещение

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

    45

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

  1. И да, еще один важный момент!

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

    post-115-0-21779800-1438257332.jpg

     

    З.Ы. отмечу, однако, что не стоит злоупотреблять кол-вом компонентов, размещенных на ListBoxItem - это, как-раз, повлечет "тормоза" при отрисовке. )

  2. [xenon54] Если речь идет только о десктопном приложении, то у ListBox более "богатый функционал".

    Например тот же ScrollBar - можно включить/выключить, сделать узким и исчезающим, сделать плавную прокрутку, анимацию AniCalculations.Animation и прочее.

    post-115-0-14629500-1438256642.jpgpost-115-0-68000300-1438256646.jpg

     

    Возможно я ошибаюсь на счет функциональности ListView, но ListBox намного удобнее во многих случаях.

    В обоих отмеченных случаях используется ListBox. Он позволяет удобно разместить элементы с "автовыравниванием" по ширине, "не напрягая мозг".... :)

    post-115-0-81368200-1438256739_thumb.jpgвот еще примерpost-115-0-73904800-1438256957_thumb.jpg

     

    Согласитесь - разнообразие использования велико. Для многих, использование TListBox будет наиболее оптимальным вариантом. Здесь главное - просто создавать нужные вам стили...

  3. Для чего использовались драйвера (Windows 7/8/10 (x64)):

     

    Sony Xperia SP

    Sony Xperia L

    Sony Xperia Tablet Z

    и в архиве еще туча райверов для других девайсов от Sony ( размер архива 400 Mb !)

     

    https://drive.google.com/open?id=0B5LS-2rAfJMDVkIycVlOQ1hqejA

     

    P.S. Здесь и сделаю примечание по работе с данными девайсами.

    В случае попытки работы с графическими примитивами, рисование закрашенных градиентом примитивов, возникает "баг" - вместо того чтобы рисовать, например, прямоугольник залитый градиентом, рисуется прямоугольник цветом "Fuchsia".

    Чтобы избежать этого, рекомендую использовать обычные PNG.

    Например:

    post-115-0-37294700-1438255576.png

  4. Аналогично, как и с другими "нестандартными" девайсами - почти пол дня потратил на поиски дров под Windows 7/8/10 для данного девайса. Ничего не помогло, кроме данной программки.

    Устанавливаем ее - она дает возможность работать с тел.: контакты, файловый менеджер и т.д. и т.п.

    А главное - ставит драйвера для него!

    mobilego_setup_full818.zip

     

    З.Ы. после установки программу можно и удалить - главное дрова поставит...

  5. Кстати говоря, мобильное приложение будет выглядеть практически так же, из-за применения стилей.

    Единственное что пришлось сделать иначе (в нашем случае) - это список контактов (ListView). Так как у ListBox под Android не удобно реализована реакция на OnClick/OnTap и т.п. (а именно - при попытке прокрутки списка часто возникает событие OnClick). Кроме того, в данном случае, скорость работы ListView намного выше скорости работы ListBox. ListView быстрее, плавнее и т.п. Но вот реализация, повторюсь, - сложнее. Не сильно, но все же.

    А вот чат сделан одинаково. Код для него один, стиль - один, все абсолютно идентично. Работает достаточно шустро. (в будущем, наверное, и чат переделаем на ListView, потому-что он подразумевает возможное наличие в "сообщениях" различных элементов: ссылки, картинки и т.д. А для них требуется уже более быстрая отрисовка).

     

    post-115-0-30884200-1438250093_thumb.jpgpost-115-0-05674200-1438250097_thumb.jpg

     

    Я бы написал, по возможности, все устройства на которых все это тестилось, и как и где что работает (включая некоторые отличия самих устройств, из-за которых иногда наблюдаются артефакты (!! это не из-за FMX, замечу, а именно из-за аппаратных особенностей)), но думаю это надо где-то не тут писать...

  6. Не в первый раз вижу эту тему...

    TGridPanelLayout - далеко не предпочтительный вариант. Совсем.

    У ListBox с его Item'ами намного больше возможностей.

    С [xenon54] соглашусь, но не полностью. ListView действительно хорош (для мобильной платформы), однако он намного сложнее.

     

    Примеры применения стилей для ListBoxItem (не сочтите за рекламу, так проще было... нащелкал скринов для примера):

     

    post-115-0-25602800-1438247017_thumb.jpgpost-115-0-31422200-1438247021_thumb.jpgpost-115-0-58806700-1438247024_thumb.jpgpost-115-0-52819300-1438247029_thumb.jpgpost-115-0-95422500-1438247043.jpg

     

    Везде - ListBox.

    На последнем скрине - всплывающие сообщения на экране. Реализовано так же - прозрачная форма, ListBox и Item'ы со своим стилем В ВИДЕ ПАНЕЛЕК )

     

    post-115-0-36359300-1438247352.jpgpost-115-0-20120400-1438247356.jpg

  7. Сталкивались. По началу очень много))

     

    Приложение, активно использующее GUI, то бишь всякие прогресс-бары, видео, большое кол-во элементов с картинками и т.д. и т.п., требует обязательного использования TThread.Synchronize.

    Иначе вы можете сначала ничего не заметить, может не быть никаких глюков и т.п.. А потом они могут так же внезапно появиться. Может быть такое, что у Вас их не будет (глюков), а на другом компе - будут. Может зависеть от множества факторов.

    НО!

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

    Эти баги могут быть не явными. Т.е. вы, например, делаете обновление TLabel при "загрузке" чего-либо и обновлении TProgressBar, а текст (новое значение) не отображается. А вот если сделать обновление TLabel и TProgressBar в TThread.Synchronize, то все будет ок.

    Тут есть еще одно НО )))

    Оно заключается в том, чтобы процесс "обновления" был оптимизирован. Это как слишком частый вызов Application.ProcessMessage в процедуре выполняющий вычисления - будут приличные тормоза!

    Пишите код оптимально. Не делайте лишних вызовов TThread.Synchronize, но и не забывайте о них...

     

    Как-то так)

  8. Друзья! Неужели никто еще не сталкивался с такой же проблемой?

    Установка шрифта какими-то "экзотическими" методами (типа батников и "дополнительным софтом") - это, мягко говоря, некорректное решение.

    Может кто-то подскажет программное решение?

    А то Андрей Ефимов любезно подсказал как можно использовать шрифты на андроиде, а как быть в данном случе с виндой!?

  9. Уважаемые гуру! Вопрос больше к вам. Так как в VCL Windows-приложении использовать свой шрифт - проблем нет. А как быть с нашей замечательной FMX ?

     

    Успользование своего шрифта в приложении. Варианты - либо временное, на время работы приложения, либо постоянное - установка приложением своего шрифта.

     

    P.S. Варианты с Android и iOS не предлагать. Интересует только Windows.

  10. По большей части расстраивает даже не ожидание, а результат.

    Ждем то апдейтов, а вместо них выходят новые версии. Ну бывают, конечно, апдейты. Но они в реальности не существенны.

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

    И это не говоря уже о необходимости постоянной покупки новых версий.

    Все понятно, разумеется, что Embarcadero вынуждена поступать таким образом чтобы поддерживать "на плаву" свое детище и как-то развиваться. Но проблема то как-раз и заключается в том что - "поддерживать на плаву"...

     

    З.Ы. Очень хотелось бы видеть не одно, в лучшем случае, обновление, а постоянные апдейты, с действительно необходимыми исправлениями багов. А не добавление новых фишек с привнесением очередной порции глюков.

    Сообщество Delphi (и RAD Studio) само бы развило бы функционал за счет новых модулей, компонентов и т.д. Однако это требует стабильности работы и среды и компилятора, и исправление багов.

    А то большая часть времени создания проектов уходит именно не написание проекта, а на ловлю багов и глюков FMX.

     

    Как-то так...

     

    З.З.Ы. Без личных притензий к владельцам форума! (Им за этот форум - отдельное спасибо!)

  11. Согласен и с [ruslan] и с [brunnengi], так как являюсь обладателем платной версии TMSPack. Очень тяжелые и тормозные компоненты. А что касается чата - я сказал что он тормозной потому-что уже пробовал. И поверьте "покрутил" его как мог - не катит... Как только у вас в чате будет не одно сообщение с одним смайликом, так вы и поймете...

  12. У меня проект тоже немалый. Так вот, - мало того что сама среда безбожно глючит, так еще и не работает (не запускается) само приложение. А разбираться, потратив очередные недели, никакого желания нет.

    Простенькие приложения компилятся и работают "на ура", а что посложнее - вот тут начинаются свистоперделки.

    Касаемо самой xe8 - работа проделана приличная. И по исправлению старых багов (и по внесению новых), и по самой среде. Много нового, много полезного. Но покупать, в очередной раз, никакого желания.

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