-
Постов
50 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Активность репутации
-
Dev отреагировална Slym в Артефакты на экране (Android)
Боролись как-то с артефактами отображения (мы их прозвали "крокодилами" из-за сходства на первом скриншоте с этим багом)...
Могли отображаться также левые спрайты, или обрезки скролившихся контролов...
Коллега выяснил что не надо трогать Form.Fill, из-за переключения в недрах FMX нативной и не нативной канвы: если нужен фон - брось Rect по контенту и в нем делай заливку...
-
-
-
-
-
Dev отреагировална ENERGY в Плавающая кнопка
В этом варианте при нажатии будет появляться сервый прямоугольник. Не идет. Вариант Равиля медленный, кнопка будет часто перерисовыватся, круг + картинка + тень.
Поэтому лучший вариант это сделать кнопку в виде обычной картинки. TImage или TGlyph. Я делал на TGlyph чтобы все картинки были в ImageList.
Подготовьте 3 пнг картинки с полностью готовой кнопкой, с тремя масштабами.
Scale 1 = 56x56 Scale 2 = 112x112 Scale 3 = 168x168 Поместите его в TImageList (обычно в глобальном Datamodule), добавьте свое изображение в список и добавьте 3 коэффициента масштабирования в исходное изображение (дважды щелкните элемент в списке «Sources of Image» в ImageList, там выберите "Add new Item"), в итоге одно изображение в TImageList будет иметь 3 scale. Чтобы понять какой scale загрузился при тесте, можно поставить для теста картинки разного цвета. Поместите TGlyph на форму и выберите свой список изображений.
Установите событие OnClick в Form OnCreate (поскольку Glyph1 не имеет OnClick по умолчанию в Object Inspector):
Glyph1.OnClick := Click; Glyph1.HitTest := true; В OnClick добавьте этот код для анимации:
procedure TForm2.TestClick(Sender: TObject); begin TAnimator.AnimateFloatWait(Glyph1, 'Opacity', 0.5, 0.2); TAnimator.AnimateFloat(Glyph1, 'Opacity', 1, 0.2); end; Или вы можете использовать TImage - это еще проще и меньше кода, чем выше.
-
Dev отреагировална Brovin Yaroslav в В Android TimeEdit не позволяет устанавливать секунды
через всплывающее окно не получится это сделать. Потому что сам андроид не дает такой возможности. А если использовать инплейс редактирование через клавиатуру, то просто задайти кастомный формат времени, в котором добавьте секунды.
-
Dev отреагировална x11 в Toast для Android Service
Это не вопрос. Просто подумал, что кому-нибудь может пригодится.
https://forums.embarcadero.com/thread.jspa?threadID=118465
Используем 2 файла: Androidapi.JNI.ToastForService.pas + FlyUtils.Android.PostRunnableAndTimer.pas.
Пример вызова:
Androidapi.JNI.ToastForService.PostToast('текст сообщения', LongToast); Проверил - работает.
Есть ещё третий параметр "UseLastToastObj", но я так и не понял, для чего он. Документации нет.
-
Dev отреагировална sinuke в Круглая кнопка
Вот набросал на скорую руку примерчик (может конечно не идеальный пример, но сегодня что-то голова совсем деревянная)
111.zip
-
Dev отреагировална Евгений Корепов в Обработка анимированных GIF по рецепту китайского коллеги
Принцип работы такой:
На форму кладете стандартный TImage Создаете экземпляр TGifPlayer Задаете свойство FGifPlayer.Image:=Image; где Image это лежащая на форме TImage Загружаете гифку FGifPlayer.LoadFromFile('D:\Embarcadero\Projects\ShareCode\FMX.GifUtils\GIF_Example.gif'); Запускаем проигрывание гифки FGifPlayer.Play; Вот код:
unit UnitFormMain; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.GifUtils, FMX.Objects; type TFormMain = class(TForm) Image: TImage; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } FGifPlayer : TGifPlayer; end; var FormMain: TFormMain; implementation {$R *.fmx} procedure TFormMain.FormCreate(Sender: TObject); begin FGifPlayer:=TGifPlayer.Create(Self); FGifPlayer.Image:=Image; FGifPlayer.LoadFromFile('D:\Embarcadero\Projects\ShareCode\FMX.GifUtils\GIF_Example.gif'); FGifPlayer.Play; end; end. Вот демо проект во вложении:
FMX.GifUtils.Demo.zip
-
Dev отреагировална mazayhin в Программно развернуть свернутое приложение
Вот здесь, когда оборачиваете в PendingIntent, присваиваете ему уникальный номер (в примере выше это 1), этот номер где-то храните.
PendingIntent := TJPendingIntent.JavaClass.getBroadcast (TAndroidHelper.Context, _ТУТ НОМЕР_, intent, 0); Потом, что бы отменить, создаете идентичный PendingIntent, с номером, с которым запускали, и
TAndroidHelper.AlarmManager.cancel(PendingIntent);
-
Dev отреагировална Andrey Efimov в [Статья][Android] AlarmManager - Автозапуск приложения в назначенное время
Ссылка: http://delphifmandroid.blogspot.ru/2016/02/alarmmanager-rad-studio.html
Автор: Ефимов Андрей
Описание: [AlarmManager] Автозапуск приложения в назначенное время
-
Dev отреагировална ENERGY в Программно развернуть свернутое приложение
Это можно сделать если поставить Alarm. Если прога выгружена - она загрузится, если в фоне, то выйдет из фона.
А уже есть такой вопрос, ну пусть ссылка будет на этот форум, здесь можно спросить Андрея Ефимова по этому вопросу и в целом там важные ньюансы в комментах.
-
Dev отреагировална ENERGY в Программа для конвертации стилей под другие платформы на основе указанного *.style
Набросал простенькую программу для создания стилей под все платформы на основе указанного.
Программа только меняет информацию о платформе, никаких других измений со стилем не делает.
К примеру есть стиль для Android - указываем его программе, - она создает стили для Windows, Mac, iOs на основе указанного.
Затем их можно добавлять в StyleBook, запускать и отлаживать этот Android стиль под Windows, что сэкономит массу времени.
Exe файл находится в \Win32\Release\Styles4Platforms.exe
An app to convert current firemonkey style to other platforms based on the specified *.Style file. App only changes the information about the platform and does not do any other changes with the style.
Styles 4 Other Platforms.7z
-
Dev отреагировална mazayhin в SSDP for Android
Как вижу, тут есть 3 варианта.
1. Взять обертки над SDK от fmxexpress (или сделать самому), и самому написать по примеру выше, но уже на delphi.
2. Найти подходящее на Java, скомпилировать в jar, создать обертку для delphi (Java2Op) и использовать уже ее.
3. Наверное, самый удачный вариант, т.к. все это чудо работает по UDP, самому на основе Indy реализовать в своей программе.
-
Dev отреагировална Akad в [Вебинар] FGX Native. Новейшая кроссплатформенная платформа для мобильной разработки на Delphi
А есть какие-нибудь демки? Главное, что бы хеловорд apk не весил 5-10Мб и не тормозил на старых аппаратах безбожно, как FMX. И что с сервисами под андроид?
-
Dev отреагировална Brovin Yaroslav в [Вебинар] FGX Native. Новейшая кроссплатформенная платформа для мобильной разработки на Delphi
Тема: FGX Native. Новейшая кроссплатформенная платформа для мобильной разработки на Delphi Дата и время: 27 марта 2018 года в 12:00 Участники: @Brovin Yaroslav, Андрей Совцов Регистрация: ссылка Ссылка на официальный телеграмм канал: https://t.me/fgx_native Участие бесплатное На вебинаре познакомимся с текущей разработкой новой кроссплатформенной платформы, позволяющей создавать нативные приложения с быстрым откликом, плавной анимацией, продвинутой системой выраванивания, поддержкой RTL языков, оптимизированной работой с изображениями, быстрой канвой и многим другим. RAD Studio, Android/iOS В вебинаре принимает участие автор разработки Ярослав Бровин
-
Dev отреагировална sinuke в AppBar scrolling
Вот набросал примерчик. В примере используется обработка жеста igiPan. Для того, чтобы во время изменения размера AppBar не работал скролл у ЛистВью, использовался чуть доработанный modernListView, в котором добавлено свойство CanScroll (не помню, публиковал ли Равиль его или нет). В общем надеюсь смысл будет понятен
Тестовый проектик: AppBarSizing.zip
-
Dev отреагировална Akad в WebBrowser Печать
В HTML надо добавить что-то типа
<script type="text/javascript"> function Printt(){ window.print(); }; </script> И потом просто вызвать этот ява код.
TMSFMXWebBrowser1.ExecuteJavascript('Printt();'); Если страница грузится с интернета полностью, то естественно надо отредактировать её с учётом html синтаксиса. Так же стоит убрать весь мусор со страниц и повысить версию браузеру для лучшей совместимости:
a := TRegistry.Create; a.RootKey := HKEY_CURRENT_USER; a.OpenKey('Software\Microsoft\Internet Explorer\PageSetup',true); a.WriteString('footer',''); a.WriteString('header',''); a.CloseKey; a.OpenKey('Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION',true); a.WriteInteger('Client1.exe',$2af9); a.CloseKey; a.Free; Где Client1,exe - имя вашего exe.
P.S. И лучше использовать браузер от TMS, проблем под 10.2.х на порядок будет меньше.
-
-
Dev получил реакцию от Mazzay в MessageDlg — как сделать кнопки с русскими надписями?
Найти примерно по этому пути C:\Program Files\Embarcadero\Studio\19.0\source\fmx файл FMX.Consts.pas, скопировать в папку с проектом, открыть в блокноте, найти строки SMsgDlgYes = 'Yes'; SMsgDlgNo = 'No'; заменить на SMsgDlgYes = 'Да'; SMsgDlgNo = 'Нет'; сохранить. После компиляции на андроиде в диалоге на кнопках должны быть русские «Да» «Нет»
-
Dev отреагировална FREEFAR в TMemo и текст под виртуальной клавиатурой
в самой студии в коллекции примеров есть пример ScrollableFrom
-
Dev отреагировална Brovin Yaroslav в List of new features and customer reported issues fixed in RAD Studio 10.2 Tokyo Release 3
Прочитать всю новость целиком на сайте Embarcadero