-
Постов
79 -
Зарегистрирован
-
Посещение
-
Победитель дней
12
Весь контент Кривяков Виталий
-
Добрый день! Недавно столкнулся с похожей проблемой, картинки не всегда подгружались, проблема была в том, что любые действия с TBitmap (загрузка, изменение размера и т.п.) должны обязательно выполнятся в основном потоке. Проверьте, нет ли у вас работы с изображением не в основном потоке?
-
Используйте на здоровье, я не против, но претензии не принимаю .
- 21 ответ
-
- User interface
- slide
-
(и ещё 2 )
C тегом:
-
Добрый день! Столкнулся с проблемой некорректного отображения текста под Андроид. Длинный текст выводится через TLabel, перенос включен, обрезка по словам. Вот как это должно выглядеть: А вот как это смотрится на экране телефона: Проявляется на XE7 и XE8 триал. Может кто проверить на XE8 Update1? Была ли у кого такая проблема и как удалось решить? Спасибо! В архиве демо-пример. TextOutError.zip
-
Простого выхода я не знаю, а так исходники FMX и вперед, отлавливать жесты, разбираться с их хождением и передачей в контролы. Может Ярослав что подскажет?
- 21 ответ
-
- User interface
- slide
-
(и ещё 2 )
C тегом:
-
Это ограничение платформы - события и жесты ловит тот, кто сверху. Как только HitTest устанавливается в Ложь, то события проваливаются до TUITabControl. Не разбирались мы с тем, как это обойти.
- 21 ответ
-
- User interface
- slide
-
(и ещё 2 )
C тегом:
-
Добрый день! В теме про наш продукт http://fire-monkey.ru/topic/1519-1c-papyc-mobilnoe-prilozhenie-dlia-masterov-priemschiko/ меня просили поделиться исходным кодом компонента TabControl с поддержкой слайда табов пальцем. С удовольствием делюсь В составе архива сам компонент и пример его использования. FMXUI.zip
- 21 ответ
-
- User interface
- slide
-
(и ещё 2 )
C тегом:
-
Добрый день! Firemonkey имеет много отличий в работе от VCL. Одно из них связано с порядком создания форм. Когда в модуле проекта вы видите код: Application.CreateForm(TfrmDM, frmDM); То это не означает, что форма или модуль будут созданы в в момент исполнения этого вызова, вместо этого программа запомнит, что нужно создать такую форму TfrmDM и поместить указатель на нее в frmDM. Реальное создание форм произойдет при выполнении Application.Run. Поэтому, все обращения к "созданным" формам и модулям в модуле проекта приведет к ошибке. Чем еще FM занимается до реального создания основной формы - одним разработчикам известно, и я бы поостерегся выполнять какие либо действия связанные с отрисовкой форм в модуле приложения. Набросал пример, посмотрите, возможно такое решение вам подойдет. SplashDemo.zip
-
Добрый день! Подход имеет право на жизнь, как быстрая реализация. Со своей стороны я бы рассмотрел в качестве основы TListBox, нарисовал стили элемента и в наследнике TListBox реализовал управление сверткой разверткой.
-
Добрый день! Честно сказать, не смог понять алгоритма, посему набросал простой пример, как проверять пересечение контролов стандартными средствами. function TForm1.OpponentVSHero: TAttacMode; var RcOpponent, RcHero : TRectF; Pt : TPointF; begin Result := TAttacMode.None; // Получим абсолютные размеры оппонента RcOpponent := Opponent.AbsoluteRect; // Получим абсолютные размеры героя RcHero := Hero.AbsoluteRect; // Получим центр героя Pt.X := Hero.Width / 2; Pt.Y := Hero.Height / 2; // Переведем его в абсолютные координаты PT := Hero.LocalToAbsolute(PT); // Проверим, не пересекаются ли габариты героя и оппонента if RcOpponent.IntersectsWith(RcHero) then begin Result := TAttacMode.Next; end; // Проверим, попадает ли центр героя в область оппонента if RcOpponent.Contains(Pt) then Result := TAttacMode.Attacked; end; Hero.zip
-
[Windows] Как указать цвет по RGB TColor?
Кривяков Виталий ответил Вячеслав вопрос в Работа с цветом
Добрый день! TColor и TAlphaColor - несовместимые типы, они по разному хранят цветовые составляющие. TColor = $00BBGGRR TAlphaColor = $AARRGGBB И как следствие, если Свойство объявлено как TAlphaColor, то при присвоении ему обычного TColor будет цветовая ошибка. -
Добрый день! Приложения, собираемые под мобильную платформу содержат отличие в работе со строками - нумерация символов идет с 0. Возможно дело в этом. for i:=Low(exc) to High(exc) do begin delete(cl,Pos(exc[i],cl),1); end; Такой код должен работать одинаково на всех платформах. Подробнее можно почитать здесь: http://docwiki.embarcadero.com/RADStudio/XE6/en/Migrating_Delphi_Code_to_Mobile_from_Desktop
-
Добрый день! Судя по всему - проблема достаточно серьезная и исправить ее нелегко. Для примера - можно убрать сообщение об ошибке "Access violation..." для этого достаточно указать модификатор [weak] переменной vActiveCaret в модуле FMX.Types. было var vKBTimer: TTimer = nil; vActiveCaret: TCustomCaret = nil; vOldDisplayed: boolean = False; vShowVKProc: TShowVirtualKeyboard = nil; стало var vKBTimer: TTimer = nil; [weak] vActiveCaret: TCustomCaret = nil; vOldDisplayed: boolean = False; vShowVKProc: TShowVirtualKeyboard = nil; В ней залипает объект TCaret при уничтожении фрейма. Но далее происходят другие чудеса, причем, под iOS и Android чудеса разные. Судя по всему, хоть Ярослав и рекомендует динамическое создание фреймов, платформа на это пока неспособна. Для себя остановился на динамическом создании фреймов и их повторное использование, вместо уничтожения и последующего создания по необходимости.
-
Добрый день! Как правильно проверить состояние wifi адаптера, включен он или нет? Есть готовая возможность в FM, или нужно для каждой платформы писать свой код?
-
Добрый день! Элементы стиля создаются в момент первой отрисовки любого компонента, соответственно, как только компонент первый раз визуализируется, то происходит создание объектов стиля. Отсюда и тормоза. Как только вы проскролите от начала и до конца, то анимация станет плавнее. Так что избавиться от такого эффекта невозможно (практически). Это несколько упрощенное описание работы стилей, но оно показывает корни проблемы. Возможны способ решения состоит в принудительной отрисовки всех элементов сразу после запуска приложения. Похожая методика используется в TTabControl-е в методе SetActiveTabWithTransition в нем есть процедура PreloadContent которая отрисовывает таб на битмап, перед тем, как он будет анимирован.
-
Отвечу сам, следующие изменения позволили нормально просматривать PDF: 1. Открыть PDF удалось только из внешнего хранилища, иначе PDF Reader ругался на недопустимое имя файла. 2. Имя файла должно начинаться с file: 3. setType сбрасывал установленный Uri на файл данных, поэтому нужно использовать setDataAndType
-
Добрый день! В аттаче небольшое приложение с использованием TListBox и специальным стилем на итемы. При запуске его под Андроид и iOS наблюдается заметное торможение и лаги при работе. Вопрос, можно ли повысить плавность скролла и приблизить его к нативным приложениям? Как правильно реализовывать списки с элементами редактирования? xe7.zip