Barbanel

Пользователи
  • Публикаций

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

  • Посещение

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

    16

Весь контент Barbanel

  1. Barbanel

    Image в рамке TRectangle

    Вы хотите обрезать углы у Image? Насколько я знаю, таким образом не получится. Нужно работать с альфаканалом Image.
  2. Barbanel

    Image в рамке TRectangle

    Align у Image есть? Margins?
  3. Barbanel

    Компонент - наследник TPresentedScrollBox

    А если панельке задать высоту в 2000 пикселей, скролл появляется?
  4. Barbanel

    Размеры формы на разных устройствах

    Во, шикарное пояснение!!! Я все ломал голову, как это выразить)
  5. Barbanel

    Размеры формы на разных устройствах

    Этот код был на этом форуме. Смотрите переменную sScale if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService)) then begin sScreenSize := ScreenService.GetScreenSize.Round; sScale := ScreenService.GetScreenScale; DeviceInfo.diScreenLogic := FloatS(sScreenSize.x) + ' x ' + FloatS(sScreenSize.y); DeviceInfo.diScreenPhis := FloatS(sScreenSize.x * sScale) + ' x ' + FloatS(sScreenSize.y * sScale); DeviceInfo.diScreenWidth := sScreenSize.x; DeviceInfo.diScreenHeight := sScreenSize.y; DeviceInfo.diScale := sScale; end; Одно из наших приложений, в архиве чуть побольше фоточек чтобы вы убедились что все действительно хорошо. Ну, заодно и критику от коллег смогу услышать)) PS. не обращайте внимания на язык, так задумано) приложение делается для школ Германии. Screens.zip
  6. Barbanel

    Размеры формы на разных устройствах

    Так внешний вид абсолютно нормальный получается. Нужно лишь подготовить ресурсы для каждого коэффициента, но это везде так. Я сейчас не на рабочем месте, могу завтра показать как это выглядит на разных устройствах. Почему два а не три - роли не играет. Этот коэффициент можно получить, если необходимо.
  7. Barbanel

    Размеры формы на разных устройствах

    Это происходит из-за масштабирования. В вашем случае, коэффициент масштабирования равен 1.5 По ширине если перемножить 320 на 1.5 как раз получится паспортные 480. По высоте должно тоже получиться, но у вас скорее всего форма не на полный экран, поэтому сжирается честь места сверху для статусбара и снизу для кнопок назад, домой, и список приложений. Мне доводилось работать с устройствами на которых были такие коэффициенты 1.5 - древнющий беспонтовый ACER, разрешение экрана не помню 2.0 - ветеран Nexus 4, разрешение 1280х720 3.0 - Huawei p8 lite 2007, разрешение 1920х1080 Со всеми этими устройствами дельфи работает без проблем, масштабирование не приносит сколь-нибудь значимых проблем. Расскажите, с какой целью?
  8. Barbanel

    Возможности Androidapi

    Правильно. Насколько я знаю, не ко всему. Конкретный пример вспомнить не смогу, но некоторые вещи приходится тащить отдельно. Также, некоторые вещи проще написать на Java и потом импортировать эти библиотеки в FMX. Однако, бОльшая часть необходимых процедур апи - в наличии, этого вполне достаточно чтобы собрать полноценное приложение со средними я бы сказал запросами.
  9. Barbanel

    [FGX Native] Большие новости с полей

    Ярослав, скажите плиз как работает графическая подсистема FGX? Я имею ввиду примерно следующее: Система создает какое-то активити, и на нем осуществляется рисование всей формы. Только одной формы, или все формы приложения рисуются на одном активити? Для отрисовки используется OpenGL или что-либо другое? Если OpenGL, то как это выглядит? Что-то вроде "для каждого контрола рендерится один прямоугольник с натянутой текстурой согласно стилей" или подход совсем другой? Также интересует вопрос производительности. OpenGL в целом довольно быстрый зверь, но FMX каким-то образом умудряется положить его на лопатки. Насколько много, вернее, какая часть кода выполняется между обновлением внешнего вида контрола (например вследствии анимации прикосновения) и его непосредственным выводом на экран? Будет ли возможность создать просто OpenGL окно и получить доступ ко всем функциям OpenGL для самостоятельной отрисовки, например для игр или каких-либо специфических приложенией? В данный момент в FMX это делается очень туго. Сори если как-то сумбурно получилось, эти вещи сильно интересуют лично меня, и частично нашу фирму. Сооств. мысли о ценообразовании тоже хотелось бы услышать, хотя бы в личке. PS. сочту за честь помочь с тестированием.
  10. Barbanel

    [FGX Native] Большие новости с полей

    Т.к. датасет невизуальный компонент, то уверен что можно, но ручками. Аля -открыть датасет -добавить из кода Item в ListView -перейти на следующую запись -GoTo 2 until eof
  11. Barbanel

    Реализовать рейтинг

    Да) Не обращайте внимания, это шутка) Конец дня и все такое))) Если по делу, то понравился код рисования звезды)
  12. Barbanel

    Реализовать рейтинг

    Эта шэдэвр!!! В случайно в Думе не кодили? 😂😂😂
  13. 1) Было что-то не так со стилем. Удалил из стилей все элементы, кроме двух простейших прямоугольников для background. После этого ошибка более не проявлялась. 2) Убедился что стиль для андроида доступен на устройстве, и нужные объекты присутствуют. Действительно, под Андроид данный код не работает, и стили здесь ни при чем. Что характерно, форма не обновляется, если ей присвоить новый стиль в рантайме. Внешний вид формы остается прежним. Если вместо формы использовать например панель - стиль меняется. Изменить цвет заливки конкретно в ресурсе у меня не удалось. Это работает стандартным образом: AObject := Panel1.FindStyleResource('backgroundrect'); if (AObject is TRectangle) then TRectangle(AObject).Fill.Color := TAlphaColorRec.Yellow; Если позарез нужно менять стиль формы в рантайме - положите на нее панель с align=alClient, и меняйте стиль панели. Попробуйте, может вас устроит такой способ. И да, расскажите, для чего вы меняете цвет именно в ресурсе, а не в примененном стиле объекта. Мне правда интересен такой кейс.
  14. Проверил у себя. Действительно, вылезла похожая ошибка. Понятия не имею что это такое, разбираться лень) Удалил стиль для андроида. Еще раз его загрузил. Все ок. Проверил на устройстве - все ок.
  15. Покажите нормально ошибку, тут же ничерта не видно.
  16. Попробуйте. У меня это не работает.
  17. Верно, нету. Поэтому студия считает что стиль дефолтный и только (если не ошибаюсь) для Виндовс. -сделайте копию проекта (на всякий), -откройте редактор стилей -удалите оттуда все стили -добавьте два стиля из архива В результате у вас должно появиться по одному стилю для Виндовс и Андроид. Стурктура в них одинаковая, различаются они лишь объектом TStyleDescription. Откройте стиль в блокноте и увидите сами. Попробуйте запустить программу под андроидом, должно заработать. PS у меня были случаи когда этот объект исчезал при сохранении стиля в файл. В таком случае я открываю стиль в блокноте, вставляю этот объект ручками и потом снова загружаю этот стиль. mystyles.zip
  18. Обычно после изменений и закрытия редактора студия спрашивает, принять ли сделанные изменения. Ессно нужно нажимать "да" 😃
  19. Я так и думал. то что он один - не означает что он для всех платформ. ЕМНИП, дефолтный стиль предназначен для Виндовс. Давайте в этом точно разберемся. Сохраните стиль в файл, при сохранении выберите расширение файла .style Откройте этот файл текстовым редактором. Найдите в нем блок "object TStyleDescription" Покажите что стоит в поле "PlatformTarget" и "MobilePlatform". Или покажите весь блок.
  20. Не меет значения, сколько приложений. Далеко не факт что это так. Внутри StyleBook есть стили для разных платформ. Это может быть по одному стилю для каждой платформы, один стиль для нескольких платформ или даже всех сразу, может также быть что стиль для какой-то отдельной платформы вообще отсутствует. Какой из этих случаев у вас? Откройте редактор стилей, переключитесь на стиль для Андроид и сравните структуру со стилем для Виндовс. Если они действительно одинаковы, покажите скриншоты и будем думать дальше.
  21. Возможно это не работает потому, что для Андроида у вас нет стиля, либо он называется не так, либо в данном стиле нет нет элемента с именем 'BackgroundColor'. Проверьте стили и убедитесь что структура имен совпадает.
  22. Хм, простите... А смысл? Не, правда, поясните цель проекта. Плиз.
  23. Опа... не знал... Век живи - век учись)
  24. Поручик, вы опять все испортили 😃